From c5f951f35c146a24fd66c889b845d121cf9942f6 Mon Sep 17 00:00:00 2001 From: Yauheni Kisel Date: Thu, 25 Jan 2018 13:38:08 +0300 Subject: [PATCH 1/4] Delete empty line --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f6c092f..e05832e 100644 --- a/README.md +++ b/README.md @@ -14,4 +14,4 @@ use Maven version 3.0.5 or higher .NET project: execute MSBuild ``` MSBuild Calculator.sln -``` +``` \ No newline at end of file From eade10bb9a56e8c529f80ef165df6593af85bd11 Mon Sep 17 00:00:00 2001 From: Yauheni Kisel Date: Thu, 25 Jan 2018 16:51:42 +0300 Subject: [PATCH 2/4] Add nunit --- .Net/CalculatorTest/packages.config | 6 + .Net/packages/NUnit.3.9.0/CHANGES.md | 1485 ++ .Net/packages/NUnit.3.9.0/LICENSE.txt | 20 + .Net/packages/NUnit.3.9.0/NOTICES.txt | 5 + .Net/packages/NUnit.3.9.0/NUnit.3.9.0.nupkg | Bin 0 -> 2173048 bytes .../lib/monoandroid/nunit.framework.dll | Bin 0 -> 314368 bytes .../lib/monoandroid/nunit.framework.xml | 18594 ++++++++++++++ .../lib/net20/NUnit.System.Linq.dll | Bin 0 -> 95232 bytes .../NUnit.3.9.0/lib/net20/nunit.framework.dll | Bin 0 -> 352768 bytes .../NUnit.3.9.0/lib/net20/nunit.framework.xml | 20079 +++++++++++++++ .../NUnit.3.9.0/lib/net35/nunit.framework.dll | Bin 0 -> 354816 bytes .../NUnit.3.9.0/lib/net35/nunit.framework.xml | 20278 ++++++++++++++++ .../NUnit.3.9.0/lib/net40/nunit.framework.dll | Bin 0 -> 354304 bytes .../NUnit.3.9.0/lib/net40/nunit.framework.xml | 19988 +++++++++++++++ .../NUnit.3.9.0/lib/net45/nunit.framework.dll | Bin 0 -> 354304 bytes .../NUnit.3.9.0/lib/net45/nunit.framework.xml | 19945 +++++++++++++++ .../lib/netstandard1.3/nunit.framework.dll | Bin 0 -> 314368 bytes .../lib/netstandard1.3/nunit.framework.xml | 18594 ++++++++++++++ .../lib/netstandard1.6/nunit.framework.dll | Bin 0 -> 317440 bytes .../lib/netstandard1.6/nunit.framework.xml | 18728 ++++++++++++++ .../NUnit.3.9.0/lib/uap/nunit.framework.dll | Bin 0 -> 314368 bytes .../NUnit.3.9.0/lib/uap/nunit.framework.xml | 18594 ++++++++++++++ .../lib/xamarin.ios/nunit.framework.dll | Bin 0 -> 314368 bytes .../lib/xamarin.ios/nunit.framework.xml | 18594 ++++++++++++++ .../NUnit.ConsoleRunner.3.7.0/CHANGES.txt | 1289 + .../NUnit.ConsoleRunner.3.7.0/LICENSE.txt | 20 + .../NUnit.ConsoleRunner.3.7.0/NOTICES.txt | 5 + .../NUnit.ConsoleRunner.3.7.0.nupkg | Bin 0 -> 385714 bytes .../tools/Mono.Cecil.dll | Bin 0 -> 280576 bytes .../tools/nunit-agent-x86.exe | Bin 0 -> 70656 bytes .../tools/nunit-agent-x86.exe.config | 30 + .../tools/nunit-agent.exe | Bin 0 -> 70656 bytes .../tools/nunit-agent.exe.config | 30 + .../tools/nunit.engine.api.dll | Bin 0 -> 18944 bytes .../tools/nunit.engine.api.xml | 1119 + .../tools/nunit.engine.dll | Bin 0 -> 116224 bytes .../tools/nunit.nuget.addins | 2 + .../tools/nunit3-console.exe | Bin 0 -> 146944 bytes .../tools/nunit3-console.exe.config | 24 + .../NUnit3TestAdapter.3.9.0/LICENSE.txt | 20 + .../NUnit3TestAdapter.3.9.0.nupkg | Bin 0 -> 492656 bytes .../build/net35/Mono.Cecil.Mdb.dll | Bin 0 -> 43520 bytes .../build/net35/Mono.Cecil.Pdb.dll | Bin 0 -> 79872 bytes .../build/net35/Mono.Cecil.Rocks.dll | Bin 0 -> 22528 bytes .../build/net35/Mono.Cecil.dll | Bin 0 -> 280576 bytes .../build/net35/NUnit3.TestAdapter.dll | Bin 0 -> 72704 bytes .../build/net35/NUnit3TestAdapter.props | 40 + .../build/net35/nunit.engine.api.dll | Bin 0 -> 18944 bytes .../build/net35/nunit.engine.dll | Bin 0 -> 116224 bytes .../build/netcoreapp1.0/Mono.Cecil.dll | Bin 0 -> 327168 bytes .../netcoreapp1.0/NUnit3.TestAdapter.dll | Bin 0 -> 70144 bytes .../netcoreapp1.0/NUnit3TestAdapter.props | 20 + .../nunit.engine.netstandard.dll | Bin 0 -> 57856 bytes 53 files changed, 177509 insertions(+) create mode 100644 .Net/CalculatorTest/packages.config create mode 100644 .Net/packages/NUnit.3.9.0/CHANGES.md create mode 100644 .Net/packages/NUnit.3.9.0/LICENSE.txt create mode 100644 .Net/packages/NUnit.3.9.0/NOTICES.txt create mode 100644 .Net/packages/NUnit.3.9.0/NUnit.3.9.0.nupkg create mode 100644 .Net/packages/NUnit.3.9.0/lib/monoandroid/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/monoandroid/nunit.framework.xml create mode 100644 .Net/packages/NUnit.3.9.0/lib/net20/NUnit.System.Linq.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/net20/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/net20/nunit.framework.xml create mode 100644 .Net/packages/NUnit.3.9.0/lib/net35/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/net35/nunit.framework.xml create mode 100644 .Net/packages/NUnit.3.9.0/lib/net40/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/net40/nunit.framework.xml create mode 100644 .Net/packages/NUnit.3.9.0/lib/net45/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/net45/nunit.framework.xml create mode 100644 .Net/packages/NUnit.3.9.0/lib/netstandard1.3/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/netstandard1.3/nunit.framework.xml create mode 100644 .Net/packages/NUnit.3.9.0/lib/netstandard1.6/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/netstandard1.6/nunit.framework.xml create mode 100644 .Net/packages/NUnit.3.9.0/lib/uap/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/uap/nunit.framework.xml create mode 100644 .Net/packages/NUnit.3.9.0/lib/xamarin.ios/nunit.framework.dll create mode 100644 .Net/packages/NUnit.3.9.0/lib/xamarin.ios/nunit.framework.xml create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/CHANGES.txt create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/LICENSE.txt create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/NOTICES.txt create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/NUnit.ConsoleRunner.3.7.0.nupkg create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/Mono.Cecil.dll create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit-agent-x86.exe create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit-agent-x86.exe.config create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit-agent.exe create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit-agent.exe.config create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit.engine.api.dll create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit.engine.api.xml create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit.engine.dll create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit.nuget.addins create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit3-console.exe create mode 100644 .Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit3-console.exe.config create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/LICENSE.txt create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/NUnit3TestAdapter.3.9.0.nupkg create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/net35/Mono.Cecil.Mdb.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/net35/Mono.Cecil.Pdb.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/net35/Mono.Cecil.Rocks.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/net35/Mono.Cecil.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/net35/NUnit3.TestAdapter.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/net35/NUnit3TestAdapter.props create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/net35/nunit.engine.api.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/net35/nunit.engine.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/Mono.Cecil.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/NUnit3.TestAdapter.dll create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/NUnit3TestAdapter.props create mode 100644 .Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/nunit.engine.netstandard.dll diff --git a/.Net/CalculatorTest/packages.config b/.Net/CalculatorTest/packages.config new file mode 100644 index 0000000..f6947f7 --- /dev/null +++ b/.Net/CalculatorTest/packages.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/.Net/packages/NUnit.3.9.0/CHANGES.md b/.Net/packages/NUnit.3.9.0/CHANGES.md new file mode 100644 index 0000000..e726ff3 --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/CHANGES.md @@ -0,0 +1,1485 @@ +### NUnit 3.9 - November 10, 2017 + +This release addresses numerous parallelization issues that were introduced in 3.8 +when method level parallelization was added. Most of the parallelization issues +resolved were tests never completing when using some combinations of parallel tests +and `ApartmentState` not being properly applied to tests in all cases. + +#### Issues Resolved + + * 893 Inconsistent Tuple behavior. + * 1239 NUnit3 sometimes hangs if SetUpFixtures are run in parallel + * 1346 NullReferenceException when [TestFixtureSource] refers to data in a generic class. + * 1473 Allow Is.Ordered to Compare Null Values + * 1899 Constraint Throws.Exception does not catch exception with async lambdas + * 1905 SetupFixture without namespace will make assembly-level Parallelable attribute useless + * 2091 When a native exception of corrupted state is thrown, nunit test thread crashes and the nunit-console process hangs + * 2102 NUnitLite incorrectly reports Win 10 OS name + * 2271 When CollectionAssert.AreEqual do compare each element, it will ignore the IEquatable of the element too + * 2289 ResolveTypeNameDifference does not handle generic types well + * 2311 Resolve test projects' namespace situation + * 2319 Add .editorconfig to set file encodings so that people don't have to think about it + * 2364 Parallelizable attribute not invalidating invalid parallel scope combinations + * 2372 Create testing for compounded ConstraintFilters + * 2388 Parallelization causes test cases to stop respecting fixture's apartment state + * 2395 NUnit 3.8+ does not finish running tests + * 2398 NUnit CI spurious failures, NUnit.Framework.Internal.ThreadUtilityTests.Kill + * 2402 --labels=All doesn't show anything in console output executing NUnitLite Console Runner + * 2406 Summary descriptions replaced by more detailed ones + * 2411 And constraint on Has.Member throws + * 2412 Using fluent syntax unintentionally removed in 3.8 + * 2418 Support equality comparison delegate + * 2422 Has.Property causes AmbiguousMatchException for shadowing properties + * 2425 XML doc typo fix + * 2426 Regression in 3.8.1: ApartmentAttribute no longer works when applied to an assembly + * 2428 Fix NullReferenceExceptions caused by WorkItemQueue not being thread-safe + * 2429 Stack trace shown for Assert.Warn + * 2438 [Parallelizable] hangs after a few tests + * 2441 Allows to override load-time/execution-time interfaces in built-in tests attributes + * 2446 CI failure in mono Warning tests + * 2448 Inherited Test SetUp, TearDown, etc. are not executed in .NET Core if they are not public + * 2451 Compile RegEx to improve performance + * 2454 SetUpFixture not respecting NonParallelizable tag on TestFixtures. + * 2459 [Parallelizable(ParallelScope.Children)] Unable to finish tests + * 2465 Possible wrong properties are returned by reflection in ReflectionExtensions.cs + * 2467 Test execution hangs when using [SetUpFixture] with NUnit 3.8.x + * 2469 Allow RangeAttribute to be specified multiple times for the same argument + * 2471 Parametrized testcases not running in parallel + * 2475 Framework incorrectly identifies Win 10 in xml results + * 2478 Attributes on SetUpFixture are not applied + * 2486 Message when asserting null with Is.EquivalentTo could be more helpful + * 2497 Use ConstraintUtils.RequireActual through out the codebase + * 2504 Support changing test display name on TestFixtureData + * 2508 Correct divergence from shadowed Is / Has members. + * 2516 When test writes something to the stdErr there is no guaranteed way to link a test-output event to a target test using ITestEventListener + * 2525 Remove unwanted space from comment + * 2526 SerializationException in low trust floating point equality test + * 2533 Matches(Predicate) throws ArgumentException or Fails when actual is null + * 2534 SetUpFixture causes NUnit to lock with Apartment( STA ) + * 2551 CollectionItemsEqualConstraint is missing Using(Func) + * 2554 Made TestFixtureData.SetName internal for 3.9 + +### NUnit 3.8.1 - August 28, 2017 + +This release fixes two critical regressions in the 3.8 release. The first caused the console +runner to crash if you are using test parameters. The second issue caused collection +constraints checking for multiple items in a collection to fail. + +#### Issues Resolved + + * 2386 Contains.Item() fails for collections in NUnit 3.8 + * 2390 Missing value attribute in test parameters setting causes NullReferenceException in console + +### NUnit 3.8 - August 27, 2017 + +This release removes several methods and attributes that were marked obsolete in the +original 3.0 release. Support for iOS and Android has been improved. + +An issue that caused unit tests to run slower was addressed as was a bug that prevented +the use of Assert.Multiple in async code. + +The Order attribute can now also be applied to the class level to set the order +that test fixtures will be run. + +#### Issues Resolved + + * 345 Order of Fixture Execution + * 1151 Include differences in output for Is.EquivalentTo + * 1324 Remove CollectionContainsConstraint + * 1670 Attaching files to the test result + * 1674 InRange-Constraint must work with object + * 1851 TestCaseSource unable to pass one element byte array + * 1996 Timeout does not work if native code is running at the time + * 2004 Has.One as synonym for Has.Exactly(1).Items + * 2062 TestCaseSource attribute causes test to pass when source is not defined + * 2144 Allow option on RandomAttribute to produce distinct values + * 2179 Some NUnit project's tests fail on systems with CultureInfo other than en + * 2195 Contains.Substring with custom StringComparison + * 2196 Expose ParallelizableAttribute (and other attribute) constructor arguments as properties + * 2201 Invalid platform name passed to PlatformAttribute should mark test NotRunnable + * 2208 StackFIlter trims leading spaces from each line + * 2213 SetCultureAttribute: CultureInfo ctor should use default culture settings + * 2217 Console runner performance varies wildly depending on environmental characteristics + * 2219 Remove Obsolete Attributes + * 2225 OneTimeTearDown and Dispose Ordering + * 2237 System.Runtime.Loader not available for iOS/Android + * 2242 Running tests directly should never surface a NullReferenceException + * 2244 Add KeyValuePair to the default formatters + * 2251 Randomizer.NextGuid() + * 2253 Parallelizable(ParallelScope.Fixtures) doesn't work on a TestFixture + * 2254 EqualTo on ValueTuple with Nullable unexpected + * 2261 When an assembly is marked with ParallelScope.None and there are Parallelizable tests Nunit hangs + * 2269 Parallelizable and NonParallelizable attributes on setup and teardown silently ignored + * 2276 Intermittent test failures in Travic CI: TestContextTests + * 2281 Add type constraint for Throws and any method requiring Exception + * 2288 Killing thread cancels test run + * 2292 Is.Ordered.By() with a field throws NullReferenceException + * 2298 Write TestParametersDictionary to xml result file in readable format + * 2299 NUnitLite NuGet package no longer installs NUnit NuGet package + * 2304 Revert accidental doc removal + * 2305 Correct misprint ".con" -> ".com" + * 2312 Prevent crash on invalid --result parsing in NUnitLite + * 2313 Incorrect xmldoc on RetryAttribute + * 2332 Update build script to use NUnitConsoleRunner v3.7.0 + * 2335 Execute OneTimeTearDown as early as possible when running fixtures in parallel + * 2342 Remove deprecated Is.String* Constraints + * 2348 Can't use Assert.Multiple with async code + * 2353 Provide additional Result information through TestContext + * 2358 Get framework to build under Mono 5.0 + * 2360 Obsolete CollectionContainsConstraint Constructors + * 2361 NUnit Parallelizable and OneTimeSetUp with no namespace results in single-threaded test execution + * 2370 TestCaseAttribute can't convert int to nullable long + +### NUnit 3.7.1 - June 6, 2017 + +This is a hotfix release that addresses occasional hangs when using test parallization +and fixes crashes in NCrunch prior to version 3.9. + +#### Issues Resolved + + * 2205 Ncrunch: System.Xml.XmlException: Root element is missing, when adding NUnit 3.7.0 + * 2209 NUnit occasionally hangs when parallelizable TestFixture has OneTimeSetUp and OneTimeTearDown + +### NUnit 3.7 - May 29, 2017 + +This release of NUnit expands on parallel test execution to allow test methods to +be run in parallel. Please see the [Parallelizable Attribute](https://github.com/nunit/docs/wiki/Parallelizable-Attribute) +for more information. + +NUnit 3.7 also drops the Portable build of the framework and replaces it with a +.NET Standard 1.3 version to compliment the .NET Standard 1.6 version. This change +enables several constraints and other features in the .NET Standard builds that +weren't available in portable like Path and Directory based asserts. + +The AssertionHelper class has been deprecated because it is seldom used and has +not received any of the updates that Asserts and Constraints receive. If your code +is using the AssertionHelper class, we recommend that you migrate your asserts. + +#### Issues Resolved + + * 164 Run test methods within a fixture in parallel + * 391 Multiple Assertions + * 652 Add ability to execute test actions before SetUp or OneTimeSetUp + * 1000 Support multiple Author attributes per test + * 1096 Treat OneTimeSetup and OneTimeTearDown as separate work items + * 1143 NUnitLite - Explore flag does not apply where filter to output + * 1238 Feature request: Print LoaderExceptions when fixture loading fails + * 1363 Make Timeouts work without running test on its own thread + * 1474 Several SetUpFixtures at the same level may be active at the same time + * 1819 TestContext.Progress.Write writes new line + * 1830 Add --labels switch changes to nunilite and nunitlite tests + * 1859 ConcurrentQueue is duplicate with System.Threading.dll package + * 1877 Resolve differences between NUnit Console and NUnitLite implementations of @filename + * 1885 Test parameter containing a semicolon + * 1896 Test has passed however Reason with an empty message is printed in the xml + * 1918 Changing DefaultFloatingPointTolerance breaks tests running in parallel + * 1932 NUnit Warn class should be removed from stack trace by filter + * 1934 NullReferenceException when null arguments are used in TestFixtureAttribute + * 1952 TestContext.Out null when used in task with .NET Core + * 1963 Investigate removing SpecialValue + * 1965 TestContext does not flow in async method + * 1971 Switch CHANGES.txt to Markdown + * 1973 Implemented TestExecutionContext to use AsyncLocal<> for NETSTANDARD1_6 + * 1975 TestFixtureSource doesn't work with a class that has no namespace + * 1983 Add missing ConstraintExpression.Contain overload + * 1990 Add namespace filter + * 1997 Remove unused --verbose and --full command line options + * 1999 Author Tests assume ICustomAttributeProvider.GetCustomAttributes return order is defined + * 2003 Better user info about ParallelizableAttribute and ParallelScope + * 2005 Exclude empty failure messages from results xml + * 2007 3.6 Multiple assertion backwards compatibility + * 2010 Add DelayedConstraint in NetStandard 1.6 build + * 2020 Better message when timeout fails + * 2023 Ability to abort threads running a message pump + * 2025 NullReferenceException using Is.EqualTo on two unequal strings + * 2030 Add method to mark tests as invalid with a reason + * 2031 Limit Language level to C#6 + * 2034 Remove silverlight project - no longer used + * 2035 NullReferenceException inside failing Assert.That call + * 2040 Cannot catch AssertionException + * 2045 NUnitlite-runner crashes if no file is provided + * 2050 Creation of TestExecutionContext should be explicit + * 2052 NullReferenceException with TestCaseSource if a property has no setter + * 2061 TestContext.WorkDirectory not initialized during build process + * 2079 Make TestMethod.Arguments public or otherwise accessible (e.g. TestContext) + * 2080 Allow comments in @FILE files + * 2087 Enhance error message: Test is not runnable in single-threaded context. Timeout + * 2092 Convert Portable library to .NET Standard 1.3 + * 2095 Extend use of tolerance to ComparisonConstraints + * 2099 Include type in start-suite/start-test report elements + * 2110 NullReferenceException when getting TestDirectory from TestContext + * 2115 Mark AssertionHelper as Obsolete + * 2121 Chained PropertyConstraint constraints report incorrect ActualValue + * 2131 Remove "Version 3" suffix from NUnitLite NuGet Package + * 2132 TestFixtureTests.CapturesArgumentsForConstructorWithMultipleArgsSupplied assumes order of custom attributes + * 2143 Non-parallel fixture with parallel children runs in parallel with other fixtures + * 2147 Test Assembly using NUnitLite & Nunit 3.6.1 hangs under .NET Core when `--timeout` is supplied on command line + * 2150 Add portable-slow-tests to Cake file + * 2152 Allow attaching files to TestResults + * 2154 Fix execution of non-parallel test fixtures + * 2157 Getting WorkerId inside Assert.Throws / DoesNotThrow returns null instead of previous non-null value + * 2158 Update SetupFixtureAttribute XML Docs + * 2159 Prevent crash in .NET standard with log file path + * 2165 Trying to install NUnit 3.6.1 on .NET Framework asks for download of 20 more packages + * 2169 Incorrect xmldocs for SetUpAttribute + * 2170 Cake build fails if only Visual Studio 2017 installed + * 2173 Remove PreTestAttribute and PostTestAttribute + * 2186 Replace special characters as part of converting branch names to package versions + * 2191 System.Reflection.TargetInvocationException with nunit3-console --debug on Mono + +### NUnit 3.6.1 - February 26, 2017 + +This is a hotfix release of the framework that addresses critical issues found in +the 3.6 release. + +#### Issues Resolved + + * 1962 A Theory with no data passes + * 1986 NUnitLite ignores --workers option + * 1994 NUnitLite runner crashing when --trace is specified + * 2017 Two NUnit project's tests fail on systems with comma decimal mark settings + * 2043 Regression in 3.6.0 when catching AssertionException + +### NUnit 3.6 - January 9, 2017 + +This release of the framework no longer includes builds for Compact Framework or +for SilverLight, but adds a .NET Standard 1.6 build. If anyone still using +Compact Framework or SilverLight and would like to continue development on those +versions of the framework, please contact the NUnit team. + +#### Framework + + * .NET Standard 1.6 is now supported + * Adds support for Multiple Assert blocks + * Added the --params option to NUnitLite + * Theories now support Nullable enums + * Improved assert error messages to help differentiate differences in values + * Added warnings with Warn.If(), Warn.Unless() and Assert.Warn() + * Enabled Path, File and Directory Asserts/Contraints for .NET Core testing + * Added NonTestAssemblyAttribute for use by third-party developers to indicate + that their assemblies reference the NUnit framework, but do not contain tests + +#### Issues Resolved + + * 406 Warning-level Assertions + * 890 Allow file references anywhere in the command line. + * 1380 Appveyor Failures when branch name is too long + * 1589 Split the nunit repository into multiple repositories + * 1599 Move Compact Framework to separate project + * 1601 Move Silverlight to a separate project + * 1609 Upgrade Cake build to latest version + * 1661 Create .NET Standard Framework Build + * 1668 Need implementation-independent way to test number of items in a collection + * 1743 Provide multiple results for a test case in the XML output + * 1758 No direct inverse for Contains.Key + * 1765 TestCaseSourceAttribute constructor for method with parameters + * 1802 Design Multiple Assert syntax as seen by users + * 1808 Disambiguate error messages from EqualConstraint + * 1811 Build.ps1 fails if spaces in path + * 1823 Remove engine nuspecs and old global.json + * 1827 Remove unused repository paths from repositories.config + * 1828 Add Retry for failed tests only + * 1829 NUnitLite accepts --params option but does not make any use of it. + * 1836 Support nullable enums in Theories + * 1837 [Request] AfterContraint to support more readable usage + * 1840 Remove SL and CF #Defined source + * 1866 [Request] More readable way to set polling interval in After constraint + * 1870 EqualConstraint result failure message for DateTime doesn't show sufficient resolution + * 1872 Parameterized method being called with no parameter + * 1876 What should we do about Env.cs + * 1880 AttributeUsage for various Attributes + * 1889 Modify nunitlite to display multiple assert information + * 1891 TestContext.Progress and TestContext.Error silently drop text that is not properly XML encoded + * 1901 Make nunitlite-runner Prefer32Bit option consistent across Debug/Release + * 1904 Add .NET Standard 1.6 Dependencies to the Nuspec Files + * 1907 Handle early termination of multiple assert block + * 1911 Changing misleading comment that implies that every `ICollection` is a list + * 1912 Add new warning status and result state + * 1913 Report Warnings in NUnitLite + * 1914 Extra AssertionResult entries in TestResults + * 1915 Enable Path, File and Directory Assert/Constraints in the .NET Standard Build + * 1917 Use of IsolatedContext breaks tests in user-created AppDomain + * 1924 Run tests using the NUnit Console Runner + * 1929 Rename zip and remove source zip + * 1933 Tests should pass if test case source provides 0 test cases + * 1941 Use dictionary-based property for test run parameters + * 1945 Use high-quality icon for nuspecs + * 1947 Add NonTestAssemblyAttribute + * 1954 Change Error Message for Assert.Equals + * 1960 Typo fixes + * 1966 Xamarin Runner cannot reference NUnit NuGet Package + +### NUnit 3.5 - October 3, 2016 + +This is the first version of NUnit where the framework will be released separately from the +console runner, engine and other extensions. From this point forward, the NUnit Framework will be +released on its own schedule that is not bound to that of any other NUnit project and version numbers +may diverge over time. + +This is also the first release where the NUnit Framework will not be included in the installer. Only +the console runner, engine and extensions will be available as an MSI installer. We recommend that you +use the NUnit NuGet packages for the framework, but a ZIP file with the binaries will also be available. + +#### Framework + + * Added Assert.Zero and Assert.NotZero methods + * You can now pass a `Func` to Asserts to lazily evaluate exception messages + * Added the ability to Assert on the order of multiple properties in a collection + * Tests with a Timeout will no longer timeout while you are debugging + +#### Issues Resolved + + * 144 Pass a `Func` to lazily evaluate an exception message + * 995 Enable Warning as Error + * 1106 Move various Assembly Info files under Properties for CF + * 1334 Add Assert.Zero and Assert.NotZero + * 1479 Don't enforce [Timeout] when debugger is attached + * 1540 Remove old .NET Core Projects + * 1553 Allow ordering tests to be done in multiple properties + * 1575 Escaping control chars in custom message + * 1596 Eliminate code sharing across projects to be split + * 1598 Split framework and console/engine into separate projects + * 1610 Refactor dependencies in build.cake + * 1615 Appveyor error in TestCF + * 1621 Remove console and command-line option files from common + * 1640 When submitting only part of optional parameters, all are overriden by defaults + * 1641 Create OSX CI Build on Travis + * 1663 Find way to hide NUnit.Compatability.Path from intellisense + * 1681 NUnitLite under .net core doesn't support TeamCity output + * 1683 Existence of SerializableAttribute in .NET Core + * 1693 2 unit tests fail due to localization + * 1716 Move installer to new repository + * 1717 Change suffix for master builds + * 1723 Remove Cake target TestAll + * 1739 Create separate copies of MockAssembly for framework, engine and extensions + * 1751 Serializable attribute exists in both System.Runtime.Serialization.Formatters and nunit.framework + * 1775 Support NUnit assertions in partial trust code. + * 1800 Remove Console/Engine projects from nunit.linux.sln + * 1805 Error message "arguments provided for method not taking any" seems incomplete / doesn't make much sense + * 1815 Prevent NullReferenceException in SubPathConstraint + +### NUnit 3.4.1 - June 30, 2016 + +#### Console Runner + + * A new option, --list-extensions, will display all the engine extensions that + have been installed by the engine. + +#### Issues Resolved + + * 1623 NUnit 3.4 is not integrated with TeamCity + * 1626 NUnit.ConsoleRunner is not picking up NUnit.Extension.NUnitV2ResultWriter + * 1628 Agent's process stays in memory when it was failed to unload AppDomain + * 1635 Console option to list loaded extensions + +### NUnit 3.4 - June 25, 2016 + +#### Framework + + * Improvements in comparing equality using `IEquatable` + * Test case names will only be truncated if the runner requests it or it is overridden on the command line + with the --test-name-format option + * The .NET 2.0 version of the framework now includes LINQ. If your tests target .NET 2.0, you can now use + LINQ queries in your tests + +#### Engine + + * The TeamCity event listener has been separated out into an engine extension + * Fixed numerous issues around thread safety of parallel test runs + * Additional fixes to reduce memory usage + * Fixes for Mono 4.4 + +#### Console Runner + + * There is a new --params command line option that allows you to pass parameters to your tests + which can be retrieved using TestContext.Parameters + * Another new command line option --loaduserprofile causes the User Profile to be loaded into the + NUnit Agent process. + +#### Issues Resolved + + * 329 (CLI) Runner does not report AppDomain unloading timeout + * 720 Need a way to get test-specific command-line arguments at runtime + * 1010 Need to control engine use of extensions + * 1139 Nunit3 console doesn't show test output continously + * 1225 The --teamcity option should really be an extension + * 1241 Make TestDirectory accessible when TestCaseSource attributes are evaluated + * 1366 Classname for inherited test is not correct + * 1371 Support `dotnet test` in .NET CLI and .NET Core + * 1379 Console returns 0 for invalid fixtures + * 1422 Include TestListWithEmptyLine.tst in ZIP Package + * 1423 SingleThreaded attribute should raise an error if a thread is required + * 1425 Lazy initialization of OutWriter in TestResult is not thread safe + * 1427 Engine extensions load old packages + * 1430 TestObjects are retained for lifetime of test run, causing high memory usage + * 1432 NUnit hangs when reporting to TeamCity + * 1434 TestResult class needs to be thread-safe + * 1435 Parallel queue creation needs to be thread-safe + * 1436 CurrentFramework and Current Platform need to be more thread-safe + * 1439 EqualConstraint does Not use Equals Override on the Expected Object + * 1441 Add Linq for use internally in .NET 2.0 code + * 1446 TestOrderAttributeTests is not public + * 1450 Silverlight detection doesn't work when building on 32-bit OS + * 1457 Set the 2.0 build to ignore missing xml dcoumentation + * 1463 Should TestResult.AssertCount have a public setter? + * 1464 TNode.EscapeInvalidXmlCharacters recreates Regex continually + * 1470 Make EventQueue and associated classes lock-less and thread safe + * 1476 Examine need for "synchronous" events in event queue + * 1481 TestCase with generic return type causes NullReferenceException + * 1483 Remoting exceptions during test execution + * 1484 Comparing Equality using `IEquatable` Should Use Most Specific Method + * 1493 NUnit 2 test results report ParameterizedMethod but should be ParameterizedTest + * 1507 NullReferenceException when null arguments are used in TestFixtureAttribute + * 1513 Add new teamcity extension to packages + * 1518 NUnit does not send the "testStarted" TeamCity service message when exception was thrown from SetUp/OneTimeSetUp + * 1520 Detect Portable, Silverlight and Compact and give error message + * 1528 Use of Sleep(0) in NUnit + * 1543 Blank name attribute in nunit2-formatted XML result file test-run element + * 1547 Create separate assembly for System.Linq compatibility classes + * 1548 Invalid Exception when engine is in a 32-bit process + * 1549 Changing default behavior for generating test case names + * 1551 Path in default .addins file for ConsoleRunner package may not exist + * 1555 EndsWith calls in Constraint constructor can cause major perf issues + * 1560 Engine writes setting file unnecessarily + * 1573 Move Nunit.Portable.Agent to new Repo + * 1579 NUnit v3 dangerously overrides COMPLUS_Version environment variable + * 1582 Mono 4.4.0 Causes Test Failures + * 1593 Nunit Console Runner 3.2.1 and Mono 4.4 throws RemotingException + * 1597 Move Portable agent to its own repository + * 1605 TeamCity package has no pre-release suffix + * 1607 nunit.nuget.addins discovery pattern is wrong then restored through project.json + * 1617 Load user profile on test runners + +### NUnit 3.2.1 - April 19, 2016 + +#### Framework + + * The output and error files are now thread safe when running tests in parallel + * Added a .NET 3.5 build of the framework preventing conflicts with the compatiblity classes in the 2.0 framework + * Added a SingleThreadedAttribute to be added to a TestFixture to indicate all child tests should run on the same thread + +#### Engine + + * Unless required, run all tests within a fixture on the same thread + * Added an EventListener extension point + * Reduced memory usage + +#### Console Runner + + * No longer probes for newer versions of the engine, instead uses the engine that is included with the console + +#### Issues Resolved + + * 332 Add CF to the Appveyor CI build + * 640 Keep CF Build (and other future builds) in Sync + * 773 Upgrade Travis CI from Legacy Infrastructure + * 1141 Explicit Tests get run when using --where with some filters + * 1161 NUnit3-Console should disallow the combination of --inprocess and --x86, giving an error message + * 1208 Apartment on assembly level broken + * 1231 Build may silently fail some tests + * 1247 Potential memory issue + * 1266 SetCultureAttribute does not work if set on assembly level + * 1302 Create EventListener ExtensionPoint for the Engine + * 1317 Getting CF framework unit tests running on CI build + * 1318 NUnit console runner fails with error code -100 + * 1327 TestCaseSource in NUnit 3 converts an argument declared as String[] to String + * 1329 Unable to build without Compact Framework + * 1333 Single Thread per Worker + * 1338 BUILDING.txt is outdated + * 1349 Collision on System.Func from nunit.framework with System.Core in .Net 3.5 (CS0433) + * 1352 Tests losing data setup on thread + * 1359 Compilation error in NUnitPortableDriverTests.cs + * 1383 Skip Silverlight build if SDK not installed + * 1386 Bug when using Assert.Equals() with types that explicitly implement `IEquatable` + * 1390 --testlist with file with blank first line causes IndexOutOfRangeException + * 1399 Fixed NullReference issue introduced by the fix for #681 + * 1405 ITestRunner.StopRun throws exception of type 'System.MissingMethodException' + * 1406 TextCapture is not threadsafe but is used to intercept calls that are expected to be threadsafe + * 1410 Make OutFile and ErrFile streamwriters synchronized + * 1413 Switch console to use a local engine + +### NUnit 3.2 - March 5, 2016 + +#### Framework + + * Added an Order attribute that defines the order in which tests are run + * Added Assert.ThrowsAsync for testing if async methods throw an exception + * You can now compare unlike collections using Is.EquivalentTo().Using(...) + * Added the ability to add custom message formatters to MsgUtils + * TestCaseSourceAttribute now optionally takes an array of parameters that can be passed to the source method + * Added Is.Zero and Is.Not.Zero to the fluent syntax as a shorter option for Is.EqualTo(0) and Is.Not.EqualTo(0) + +#### Engine + + * Engine extensions can be installed via NuGet packages + +#### Issues Resolved + + * 170 Test Order Attribute + * 300 Create an NUnit Visual Studio Template + * 464 Async delegate assertions + * 532 Batch runner for Silverlight tests + * 533 Separate NUnitLite runner and autorunner + * 681 NUnit agent cannot resolve test dependency assemblies when mixed mode initialization runs in the default AppDomain + * 793 Replace CoreEngine by use of Extensions + * 907 Console report tests are too fragile + * 922 Wrap Console in NUnitLite + * 930 Switch from MSBuild based build system to Cake + * 981 Define NUnit Versioning for post-3.0 Development + * 1004 Poor formatting of results for Assert.AreEqual(DateTimeOffset, DateTimeOffset) + * 1018 ArgumentException when 2.x version of NUnit Framework is in the bin directory + * 1022 Support Comparing Unlike Collections using Is.EquivalentTo().Using(...) + * 1044 Re-order Test Summary Errors/Failures + * 1066 ApartmentAttribute and TestCaseAttribute(s) do not work together + * 1103 Can't use TestCaseData from base class + * 1109 NullReferenceException when using inherited property for ValueSource + * 1113 Console runner and xml output consistency + * 1117 Fix misbehaviour of Throws.Exception with non-void returning functions + * 1120 NUnitProject should parse .nunit project files containing Xml Declarations + * 1121 Usage of field set to null as value source leads to somewhat cryptic error + * 1122 Region may be disposed before test delegate is executed + * 1133 Provide a way to install extensions as nuget packages + * 1136 Don't allow V2 framework to update in V2 driver tests + * 1171 A bug when using Assert.That() with Is.Not.Empty + * 1185 Engine finds .NET 4.0 Client Profile twice + * 1187 ITestAssemblyRunner.StopRun as implemented by NUnitTestAssemblyRunner + * 1195 name attribute in test-suite and test-results element of output xml is different to nunit 2.6.4 using nunit2-format + * 1196 Custom value formatter for v3 via MsgUtils + * 1210 Available runtimes issues + * 1230 Add ability for testcasedatasource to have parameters passed to methods + * 1233 Add TestAssemblyRunner tests to both portable and silverlight builds + * 1234 Have default NUnitLite Runner Program.cs return exit code + * 1236 Make Appveyor NuGet feed more useable + * 1246 Introduce Is.Zero syntax to test for zero + * 1252 Exception thrown when any assembly is not found + * 1261 TypeHelper.GetDisplayName generates the wrong name for generic types with nested classes + * 1278 Fix optional parameters in TestCaseAttribute + * 1282 TestCase using Params Behaves Oddly + * 1283 Engine should expose available frameworks. + * 1286 value of the time attribute in nunit2 outputs depends on the machine culture + * 1297 NUnit.Engine nuget package improvements + * 1301 Assert.AreNotSame evaluates ToString unnecessarily + +### NUnit 3.0.1 - December 1, 2015 + +#### Console Runner + + * The Nunit.Runners NuGet package was updated to become a meta-package that pulls in the NUnit.Console package + * Reinstated the --pause command line option that will display a message box allowing you to attach a debugger if the --debug option does not work + +#### Issues Resolved + + * 994 Add max number of Agents to the NUnit project file + * 1014 Ensure NUnit API assembly updates with MSI installs + * 1024 Added --pause flag to console runner + * 1030 Update Nunit.Runners package to 3.0 + * 1033 "No arguments were provided" with Theory and Values combination + * 1035 Check null arguments + * 1037 Async tests not working on Windows 10 Universal + * 1041 NUnit2XmlResult Writer is reporting Sucess when test fails + * 1042 NUnit2 reports on 3.0 is different than 2.6.4 + * 1046 FloatingPointNumerics.AreAlmostEqualUlps throws OverflowException + * 1049 Cannot select Generic tests from command line + * 1050 Do not expose System.Runtime.CompilerServices.ExtensionAttribute to public + * 1054 Create nuget feeds for CI builds on Appveyor + * 1055 nunit3 console runner --where option does not return error on invalid selection string + * 1060 Remove "Version 3" from NUnit Nuget Package + * 1061 Nunit30Settings.xml becomes corrupted + * 1062 Console.WriteLine statements in "OneTimeSetUp" and "OneTimeTearDown" annotated methods are not directed to the console when using nunit3-console.exe runner + * 1063 Error in Random Test + +### NUnit 3.0.0 Final Release - November 15, 2015 + +#### Issues Resolved + + * 635 Mono 4.0 Support + +### NUnit 3.0.0 Release Candidate 3 - November 13, 2015 + +#### Engine + + * The engine now only sets the config file for project.nunit to project.config if project.config exists. Otherwise, each assembly uses its own config, provided it is run in a separate AppDomain by itself. + + NOTE: It is not possible for multiple assemblies in the same AppDomain to use different configs. This is not an NUnit limitation, it's just how configs work! + +#### Issues Resolved + + * 856 Extensions support for third party runners in NUnit 3.0 + * 1003 Delete TeamCityEventHandler as it is not used + * 1015 Specifying .nunit project and --framework on command line causes crash + * 1017 Remove Assert.Multiple from framework + +### NUnit 3.0.0 Release Candidate 2 - November 8, 2015 + +#### Engine + + * The IDriverFactory extensibility interface has been modified. + +#### Issues Resolved + + * 970 Define PARALLEL in CF build of nunitlite + * 978 It should be possible to determine version of NUnit using nunit console tool + * 983 Inconsistent return codes depending on ProcessModel + * 986 Update docs for parallel execution + * 988 Don't run portable tests from NUnit Console + * 990 V2 driver is passing invalid filter elements to NUnit + * 991 Mono.Options should not be exposed to public directly + * 993 Give error message when a regex filter is used with NUnit V2 + * 997 Add missing XML Documentation + * 1008 NUnitLite namespace not updated in the NuGet Packages + +### NUnit 3.0.0 Release Candidate - November 1, 2015 + +#### Framework + + * The portable build now supports ASP.NET 5 and the new Core CLR. + + NOTE: The `nunit3-console` runner cannot run tests that reference the portable build. + You may run such tests using NUnitLite or a platform-specific runner. + + * `TestCaseAttribute` and `TestCaseData` now allow modifying the test name without replacing it entirely. + * The Silverlight packages are now separate downloads. + +#### NUnitLite + + * The NUnitLite runner now produces the same output display and XML results as the console runner. + +#### Engine + + * The format of the XML result file has been finalized and documented. + +#### Console Runner + + * The console runner program is now called `nunit3-console`. + * Console runner output has been modified so that the summary comes at the end, to reduce the need for scrolling. + +#### Issues Resolved + + * 59 Length of generated test names should be limited + * 68 Customization of test case name generation + * 404 Split tests between nunitlite.runner and nunit.framework + * 575 Add support for ASP.NET 5 and the new Core CLR + * 783 Package separately for Silverlight + * 833 Intermittent failure of WorkItemQueueTests.StopQueue_WithWorkers + * 859 NUnit-Console output - move Test Run Summary to end + * 867 Remove Warnings from Ignored tests + * 868 Review skipped tests + * 887 Move environment and settings elements to the assembly suite in the result file + * 899 Colors for ColorConsole on grey background are too light + * 904 InternalPreserveStackTrace is not supported on all Portable platforms + * 914 Unclear error message from console runner when assembly has no tests + * 916 Console runner dies when test agent dies + * 918 Console runner --where parameter is case sensitive + * 920 Remove addins\nunit.engine.api.dll from NuGet package + * 929 Rename nunit-console.exe + * 931 Remove beta warnings from NuGet packages + * 936 Explicit skipped tests not displayed + * 939 Installer complains about .NET even if already installed + * 940 Confirm or modify list of packages for release + * 947 Breaking API change in ValueSourceAttribute + * 949 Update copyright in NUnit Console + * 954 NUnitLite XML output is not consistent with the engine's + * 955 NUnitLite does not display the where clause + * 959 Restore filter options for NUnitLite portable build + * 960 Intermittent failure of CategoryFilterTests + * 967 Run Settings Report is not being displayed. + +### NUnit 3.0.0 Beta 5 - October 16, 2015 + +#### Framework + + * Parameterized test cases now support nullable arguments. + * The NUnit framework may now be built for the .NET Core framework. Note that this is only available through building the source code. A binary will be available in the next release. + +#### Engine + + * The engine now runs multiple test assemblies in parallel by default + * The output XML now includes more information about the test run, including the text of the command used, any engine settings and the filter used to select tests. + * Extensions may now specify data in an identifying attribute, for use by the engine in deciding whether to load that extension. + + +#### Console Runner + + * The console now displays all settings used by the engine to run tests as well as the filter used to select tests. + * The console runner accepts a new option --maxagents. If multiple assemblies are run in separate processes, this value may be used to limit the number that are executed simultaneously in parallel. + * The console runner no longer accepts the --include and --exclude options. Instead, the new --where option provides a more general way to express which tests will be executed, such as --where "cat==Fast && Priority==High". See the docs for details of the syntax. + * The new --debug option causes NUnit to break in the debugger immediately before tests are run. This simplifies debugging, especially when the test is run in a separate process. + +##### Issues Resolved + + * 41 Check for zeroes in Assert messages + * 254 Finalize XML format for test results + * 275 NUnitEqualityComparer fails to compare `IEquatable` where second object is derived from T + * 304 Run test Assemblies in parallel + * 374 New syntax for selecting tests to be run + * 515 OSPlatform.IsMacOSX doesn't work + * 573 nunit-console hangs on Mac OS X after all tests have run + * 669 TeamCity service message should have assembly name as a part of test name. + * 689 The TeamCity service message "testFinished" should have an integer value in the "duration" attribute + * 713 Include command information in XML + * 719 We have no way to configure tests for several assemblies using NUnit project file and the common installation from msi file + * 735 Workers number in xml report file cannot be found + * 784 Build Portable Framework on Linux + * 790 Allow Extensions to provide data through an attribute + * 794 Make it easier to debug tests as well as NUnit itself + * 801 NUnit calls Dispose multiple times + * 814 Support nullable types with TestCase + * 818 Possible error in Merge Pull Request #797 + * 821 Wrapped method results in loss of result information + * 822 Test for Debugger in NUnitTestAssemblyRunner probably should not be in CF build + * 824 Remove unused System.Reflection using statements + * 826 Randomizer uniqueness tests fail randomly! + * 828 Merge pull request #827 (issue 826) + * 830 Add ability to report test results synchronously to test runners + * 837 Enumerators not disposed when comparing IEnumerables + * 840 Add missing copyright notices + * 844 Pull Request #835 (Issue #814) does not build in CF + * 847 Add new --process:inprocess and --inprocess options + * 850 Test runner fails if test name contains invalid xml characters + * 851 'Exclude' console option is not working in NUnit Lite + * 853 Cannot run NUnit Console from another directory + * 860 Use CDATA section for message, stack-trace and output elements of XML + * 863 Eliminate core engine + * 865 Intermittent failures of StopWatchTests + * 869 Tests that use directory separator char to determine platform misreport Linux on MaxOSX + * 870 NUnit Console Runtime Environment misreports on MacOSX + * 874 Add .NET Core Framework + * 878 Cannot exclude MacOSX or XBox platforms when running on CF + * 892 Fixed test runner returning early when executing more than one test run. + * 894 Give nunit.engine and nunit.engine.api assemblies strong names + * 896 NUnit 3.0 console runner not placing test result xml in --work directory + +### NUnit 3.0.0 Beta 4 - August 25, 2015 + +#### Framework + + * A new RetryAttribute allows retrying of failing tests. + * New SupersetConstraint and Is.SupersetOf syntax complement SubsetConstraint. + * Tests skipped due to ExplicitAttribute are now reported as skipped. + +#### Engine + + * We now use Cecil to examine assemblies prior to loading them. + * Extensions are no longer based on Mono.Addins but use our own extension framework. + +#### Issues Resolved + + * 125 3rd-party dependencies should be downloaded on demand + * 283 What should we do when a user extension does something bad? + * 585 RetryAttribute + * 642 Restructure MSBuild script + * 649 Change how we zip packages + * 654 ReflectionOnlyLoad and ReflectionOnlyLoadFrom + * 664 Invalid "id" attribute in the report for case "test started" + * 685 In the some cases when tests cannot be started NUnit returns exit code "0" + * 728 Missing Assert.That overload + * 741 Explicit Tests get run when using --exclude + * 746 Framework should send events for all tests + * 747 NUnit should apply attributes even if test is non-runnable + * 749 Review Use of Mono.Addins for Engine Extensibility + * 750 Include Explicit Tests in Test Results + * 753 Feature request: Is.SupersetOf() assertion constraint + * 755 TimeOut attribute doesn't work with TestCaseSource Attribute + * 757 Implement some way to wait for execution to complete in ITestEngineRunner + * 760 Packaging targets do not run on Linux + * 766 Added overloads for True()/False() accepting booleans + * 778 Build and build.cmd scripts invoke nuget.exe improperly + * 780 Teamcity fix + * 782 No sources for 2.6.4 + +### NUnit 3.0.0 Beta 3 - July 15, 2015 + +#### Framework + + * The RangeAttribute has been extended to support more data types including + uint, long and ulong + * Added platform support for Windows 10 and fixed issues with Windows 8 and + 8.1 support + * Added async support to the portable version of NUnit Framework + * The named members of the TestCaseSource and ValueSource attributes must now be + static. + * RandomAttribute has been extended to add support for new data types including + uint, long, ulong, short, ushort, float, byte and sbyte + * TestContext.Random has also been extended to add support for new data types including + uint, long, ulong, short, ushort, float, byte, sbyte and decimal + * Removed the dependency on Microsoft.Bcl.Async from the NUnit Framework assembly + targeting .NET 4.0. If you want to write async tests in .NET 4.0, you will need + to reference the NuGet package yourself. + * Added a new TestFixtureSource attribute which is the equivalent to TestCaseSource + but provides for instantiation of fixtures. + * Significant improvements have been made in how NUnit deduces the type arguments of + generic methods based on the arguments provided. + +#### Engine + + * If the target framework is not specified, test assemblies that are compiled + to target .NET 4.5 will no longer run in .NET 4.0 compatibility mode + +#### Console + + * If the console is run without arguments, it will now display help + +#### Issues Resolved + + * 47 Extensions to RangeAttribute + * 237 System.Uri .ctor works not properly under Nunit + * 244 NUnit should properly distinguish between .NET 4.0 and 4.5 + * 310 Target framework not specified on the AppDomain when running against .Net 4.5 + * 321 Rationalize how we count tests + * 472 Overflow exception and DivideByZero exception from the RangeAttribute + * 524 int and char do not compare correctly? + * 539 Truncation of string arguments + * 544 AsyncTestMethodTests for 4.5 Framework fails frequently on Travis CI + * 656 Unused parameter in Console.WriteLine found + * 670 Failing Tests in TeamCity Build + * 673 Ensure proper disposal of engine objects + * 674 Engine does not release test assemblies + * 679 Windows 10 Support + * 682 Add Async Support to Portable Framework + * 683 Make FrameworkController available in portable build + * 687 TestAgency does not launch agent process correctly if runtime type is not specified (i.e. v4.0) + * 692 PlatformAttribute_OperatingSystemBitNess fails when running in 32-bit process + * 693 Generic `Test` Method cannot determine type arguments for fixture when passed as `IEnumerable` + * 698 Require TestCaseSource and ValueSource named members to be static + * 703 TeamCity non-equal flowid for 'testStarted' and 'testFinished' messages + * 712 Extensions to RandomAttribute + * 715 Provide a data source attribute at TestFixture Level + * 718 RangeConstraint gives error with from and two args of differing types + * 723 Does nunit.nuspec require dependency on Microsoft.Bcl.Async? + * 724 Adds support for `Nullable` to Assert.IsTrue and Assert.IsFalse + * 734 Console without parameters doesn't show help + +### NUnit 3.0.0 Beta 2 - May 12, 2015 + +####Framework + + * The Compact Framework version of the framework is now packaged separately + and will be distributed as a ZIP file and as a NuGet package. + * The NUnit 2.x RepeatAttribute was added back into the framework. + * Added Throws.ArgumentNullException + * Added GetString methods to NUnit.Framework.Internal.RandomGenerator to + create repeatable random strings for testing + * When checking the equality of DateTimeOffset, you can now use the + WithSameOffset modifier + * Some classes intended for internal usage that were public for testing + have now been made internal. Additional classes will be made internal + for the final 3.0 release. + +#### Engine + + * Added a core engine which is a non-extensible, minimal engine for use by + devices and similar situations where reduced functionality is compensated + for by reduced size and simplicity of usage. See + https://github.com/nunit/dev/wiki/Core-Engine for more information. + +#### Issues Resolved + + * 22 Add OSArchitecture Attribute to Environment node in result xml + * 24 Assert on Dictionary Content + * 48 Explicit seems to conflict with Ignore + * 168 Create NUnit 3.0 documentation + * 196 Compare DateTimeOffsets including the offset in the comparison + * 217 New icon for the 3.0 release + * 316 NUnitLite TextUI Runner + * 320 No Tests found: Using parametrized Fixture and TestCaseSource + * 360 Better exception message when using non-BCL class in property + * 454 Rare registry configurations may cause NUnit to fail + * 478 RepeatAttribute + * 481 Testing multiple assemblies in nunitlite + * 538 Potential bug using TestContext in constructors + * 546 Enable Parallel in NUnitLite/CF (or more) builds + * 551 TextRunner not passing the NumWorkers option to the ITestAssemblyRunner + * 556 Executed tests should always return a non-zero duration + * 559 Fix text of NuGet packages + * 560 Fix PackageVersion property on wix install projects + * 562 Program.cs in NUnitLite NuGet package is incorrect + * 564 NUnitLite Nuget package is Beta 1a, Framework is Beta 1 + * 565 NUnitLite Nuget package adds Program.cs to a VB Project + * 568 Isolate packaging from building + * 570 ThrowsConstraint failure message should include stack trace of actual exception + * 576 Throws.ArgumentNullException would be nice + * 577 Documentation on some members of Throws falsely claims that they return `TargetInvocationException` constraints + * 579 No documentation for recommended usage of TestCaseSourceAttribute + * 580 TeamCity Service Message Uses Incorrect Test Name with NUnit2Driver + * 582 Test Ids Are Not Unique + * 583 TeamCity service messages to support parallel test execution + * 584 Non-runnable assembly has incorrect ResultState + * 609 Add support for integration with TeamCity + * 611 Remove unused --teamcity option from CF build of NUnitLite + * 612 MaxTime doesn't work when used for TestCase + * 621 Core Engine + * 622 nunit-console fails when use --output + * 628 Modify IService interface and simplify ServiceContext + * 631 Separate packaging for the compact framework + * 646 ConfigurationManager.AppSettings Params Return Null under Beta 1 + * 648 Passing 2 or more test assemblies targeting > .NET 2.0 to nunit-console fails + +### NUnit 3.0.0 Beta 1 - March 25, 2015 + +#### General + + * There is now a master windows installer for the framework, engine and console runner. + +#### Framework + + * We no longer create a separate framework build for .NET 3.5. The 2.0 and + 3.5 builds were essentially the same, so the former should now be used + under both runtimes. + * A new Constraint, DictionaryContainsKeyConstraint, may be used to test + that a specified key is present in a dictionary. + * LevelOfParallelizationAttribute has been renamed to LevelOfParallelismAttribute. + * The Silverlight runner now displays output in color and includes any + text output created by the tests. + * The class and method names of each test are included in the output xml + where applicable. + * String arguments used in test case names are now truncated to 40 rather + than 20 characters. + +#### Engine + + * The engine API has now been finalized. It permits specifying a minimum + version of the engine that a runner is able to use. The best installed + version of the engine will be loaded. Third-party runners may override + the selection process by including a copy of the engine in their + installation directory and specifying that it must be used. + * The V2 framework driver now uses the event listener and test listener + passed to it by the runner. This corrects several outstanding issues + caused by events not being received and allows selecting V2 tests to + be run from the command-line, in the same way that V3 tests are selected. + +#### Console + + * The console now defaults to not using shadowcopy. There is a new option --shadowcopy to turn it on if needed. + +#### Issues Resolved + + * 224 Silverlight Support + * 318 TestActionAttribute: Retrieving the TestFixture + * 428 Add ExpectedExceptionAttribute to C# samples + * 440 Automatic selection of Test Engine to use + * 450 Create master install that includes the framework, engine and console installs + * 477 Assert does not work with ArraySegment + * 482 nunit-console has multiple errors related to -framework option + * 483 Adds constraint for asserting that a dictionary contains a particular key + * 484 Missing file in NUnit.Console nuget package + * 485 Can't run v2 tests with nunit-console 3.0 + * 487 NUnitLite can't load assemblies by their file name + * 488 Async setup and teardown still don't work + * 497 Framework installer shold register the portable framework + * 504 Option --workers:0 is ignored + * 508 Travis builds with failure in engine tests show as successful + * 509 Under linux, not all mono profiles are listed as available + * 512 Drop the .NET 3.5 build + * 517 V2 FrameworkDriver does not make use of passed in TestEventListener + * 523 Provide an option to disable shadowcopy in NUnit v3 + * 528 V2 FrameworkDriver does not make use of passed in TestFilter + * 530 Color display for Silverlight runner + * 531 Display text output from tests in Silverlight runner + * 534 Add classname and methodname to test result xml + * 541 Console help doesn't indicate defaults + +### NUnit 3.0.0 Alpha 5 - January 30, 2015 + +#### General + + * A Windows installer is now included in the release packages. + +#### Framework + + * TestCaseAttribute now allows arguments with default values to be omitted. Additionaly, it accepts a Platform property to specify the platforms on which the test case should be run. + * TestFixture and TestCase attributes now enforce the requirement that a reason needs to be provided when ignoring a test. + * SetUp, TearDown, OneTimeSetUp and OneTimeTearDown methods may now be async. + * String arguments over 20 characters in length are truncated when used as part of a test name. + +#### Engine + + * The engine is now extensible using Mono.Addins. In this release, extension points are provided for FrameworkDrivers, ProjectLoaders and OutputWriters. The following addins are bundled as a part of NUnit: + * A FrameworkDriver that allows running NUnit V2 tests under NUnit 3.0. + * ProjectLoaders for NUnit and Visual Studio projects. + * An OutputWriter that creates XML output in NUnit V2 format. + * DomainUsage now defaults to Multiple if not specified by the runner + +#### Console + + * New options supported: + * testlist provides a list of tests to run in a file + * stoponerror indicates that the run should terminate when any test fails. + +#### Issues Resolved + + * 20 TestCaseAttribute needs Platform property. + * 60 NUnit should support async setup, teardown, fixture setup and fixture teardown. + * 257 TestCaseAttribute should not require parameters with default values to be specified. + * 266 Pluggable framework drivers. + * 368 Create addin model. + * 369 Project loader addins + * 370 OutputWriter addins + * 403 Move ConsoleOptions.cs and Options.cs to Common and share... + * 419 Create Windows Installer for NUnit. + * 427 [TestFixture(Ignore=true)] should not be allowed. + * 437 Errors in tests under Linux due to hard-coded paths. + * 441 NUnit-Console should support --testlist option + * 442 Add --stoponerror option back to nunit-console. + * 456 Fix memory leak in RuntimeFramework. + * 459 Remove the Mixed Platforms build configuration. + * 468 Change default domain usage to multiple. + * 469 Truncate string arguments in test names in order to limit the length. + +### NUnit 3.0.0 Alpha 4 - December 30, 2014 + +#### Framework + + * ApartmentAttribute has been added, replacing STAAttribute and MTAAttribute. + * Unnecessary overloads of Assert.That and Assume.That have been removed. + * Multiple SetUpFixtures may be specified in a single namespace. + * Improvements to the Pairwise strategy test case generation algorithm. + * The new NUnitLite runner --testlist option, allows a list of tests to be kept in a file. + +#### Engine + + * A driver is now included, which allows running NUnit 2.x tests under NUnit 3.0. + * The engine can now load and run tests specified in a number of project formats: + * NUnit (.nunit) + * Visual Studio C# projects (.csproj) + * Visual Studio F# projects (.vjsproj) + * Visual Studio Visual Basic projects (.vbproj) + * Visual Studio solutions (.sln) + * Legacy C++ and Visual JScript projects (.csproj and .vjsproj) are also supported + * Support for the current C++ format (.csxproj) is not yet available + * Creation of output files like TestResult.xml in various formats is now a + service of the engine, available to any runner. + +#### Console + + * The command-line may now include any number of assemblies and/or supported projects. + +#### Issues Resolved + + * 37 Multiple SetUpFixtures should be permitted on same namespace + * 210 TestContext.WriteLine in an AppDomain causes an error + * 227 Add support for VS projects and solutions + * 231 Update C# samples to use NUnit 3.0 + * 233 Update F# samples to use NUnit 3.0 + * 234 Update C++ samples to use NUnit 3.0 + * 265 Reorganize console reports for nunit-console and nunitlite + * 299 No full path to assembly in XML file under Compact Framework + * 301 Command-line length + * 363 Make Xml result output an engine service + * 377 CombiningStrategyAttributes don't work correctly on generic methods + * 388 Improvements to NUnitLite runner output + * 390 Specify exactly what happens when a test times out + * 396 ApartmentAttribute + * 397 CF nunitlite runner assembly has the wrong name + * 407 Assert.Pass() with ]]> in message crashes console runner + * 414 Simplify Assert overloads + * 416 NUnit 2.x Framework Driver + * 417 Complete work on NUnit projects + * 420 Create Settings file in proper location + +### NUnit 3.0.0 Alpha 3 - November 29, 2014 + +#### Breaking Changes + + * NUnitLite tests must reference both the nunit.framework and nunitlite assemblies. + +#### Framework + + * The NUnit and NUnitLite frameworks have now been merged. There is no longer any distinction + between them in terms of features, although some features are not available on all platforms. + * The release includes two new framework builds: compact framework 3.5 and portable. The portable + library is compatible with .NET 4.5, Silverlight 5.0, Windows 8, Windows Phone 8.1, + Windows Phone Silverlight 8, Mono for Android and MonoTouch. + * A number of previously unsupported features are available for the Compact Framework: + - Generic methods as tests + - RegexConstraint + - TimeoutAttribute + - FileAssert, DirectoryAssert and file-related constraints + +#### Engine + + * The logic of runtime selection has now changed so that each assembly runs by default + in a separate process using the runtime for which it was built. + * On 64-bit systems, each test process is automatically created as 32-bit or 64-bit, + depending on the platform specified for the test assembly. + +#### Console + + * The console runner now runs tests in a separate process per assembly by default. They may + still be run in process or in a single separate process by use of command-line options. + * The console runner now starts in the highest version of the .NET runtime available, making + it simpler to debug tests by specifying that they should run in-process on the command-line. + * The -x86 command-line option is provided to force execution in a 32-bit process on a 64-bit system. + * A writeability check is performed for each output result file before trying to run the tests. + * The -teamcity option is now supported. + +#### Issues Resolved + + * 12 Compact framework should support generic methods + * 145 NUnit-console fails if test result message contains invalid xml characters + * 155 Create utility classes for platform-specific code + * 223 Common code for NUnitLite console runner and NUnit-Console + * 225 Compact Framework Support + * 238 Improvements to running 32 bit tests on a 64 bit system + * 261 Add portable nunitlite build + * 284 NUnitLite Unification + * 293 CF does not have a CurrentDirectory + * 306 Assure NUnit can write resultfile + * 308 Early disposal of runners + * 309 NUnit-Console should support incremental output under TeamCity + * 325 Add RegexConstraint to compact framework build + * 326 Add TimeoutAttribute to compact framework build + * 327 Allow generic test methods in the compact framework + * 328 Use .NET Stopwatch class for compact framework builds + * 331 Alpha 2 CF does not build + * 333 Add parallel execution to desktop builds of NUnitLite + * 334 Include File-related constraints and syntax in NUnitLite builds + * 335 Re-introduce 'Classic' NUnit syntax in NUnitLite + * 336 Document use of separate obj directories per build in our projects + * 337 Update Standard Defines page for .NET 3.0 + * 341 Move the NUnitLite runners to separate assemblies + * 367 Refactor XML Escaping Tests + * 372 CF Build TestAssemblyRunnerTests + * 373 Minor CF Test Fixes + * 378 Correct documentation for PairwiseAttribute + * 386 Console Output Improvements + +### NUnit 3.0.0 Alpha 2 - November 2, 2014 + +#### Breaking Changes + + * The console runner no longer displays test results in the debugger. + * The NUnitLite compact framework 2.0 build has been removed. + * All addin support has been removed from the framework. Documentation of NUnit 3.0 extensibility features will be published in time for the beta release. In the interim, please ask for support on the nunit-discuss list. + +#### General + + * A separate solution has been created for Linux + * We now have continuous integration builds under both Travis and Appveyor + * The compact framework 3.5 build is now working and will be supported in future releases. + +#### New Features + + * The console runner now automatically detects 32- versus 64-bit test assemblies. + * The NUnitLite report output has been standardized to match that of nunit-console. + * The NUnitLite command-line has been standardized to match that of nunit-console where they share the same options. + * Both nunit-console and NUnitLite now display output in color. + * ActionAttributes now allow specification of multiple targets on the attribute as designed. This didn't work in the first alpha. + * OneTimeSetUp and OneTimeTearDown failures are now shown on the test report. Individual test failures after OneTimeSetUp failure are no longer shown. + * The console runner refuses to run tests build with older versions of NUnit. A plugin will be available to run older tests in the future. + +#### Issues Resolved + + * 222 Color console for NUnitLite + * 229 Timing failures in tests + * 241 Remove reference to Microslft BCL packages + * 243 Create solution for Linux + * 245 Multiple targets on action attributes not implemented + * 246 C++ tests do not compile in VS2013 + * 247 Eliminate trace display when running tests in debug + * 255 Add new result states for more precision in where failures occur + * 256 ContainsConstraint break when used with AndConstraint + * 264 Stacktrace displays too many entries + * 269 Add manifest to nunit-console and nunit-agent + * 270 OneTimeSetUp failure results in too much output + * 271 Invalid tests should be treated as errors + * 274 Command line options should be case insensitive + * 276 NUnit-console should not reference nunit.framework + * 278 New result states (ChildFailure and SetupFailure) break NUnit2XmlOutputWriter + * 282 Get tests for NUnit2XmlOutputWriter working + * 288 Set up Appveyor CI build + * 290 Stack trace still displays too many items + * 315 NUnit 3.0 alpha: Cannot run in console on my assembly + * 319 CI builds are not treating test failures as failures of the build + * 322 Remove Stopwatch tests where they test the real .NET Stopwatch + +### NUnit 3.0.0 Alpha 1 - September 22, 2014 + +#### Breaking Changes + + * Legacy suites are no longer supported + * Assert.NullOrEmpty is no longer supported (Use Is.Null.Or.Empty) + +#### General + + * MsBuild is now used for the build rather than NAnt + * The framework test harness has been removed now that nunit-console is at a point where it can run the tests. + +#### New Features + + * Action Attributes have been added with the same features as in NUnit 2.6.3. + * TestContext now has a method that allows writing to the XML output. + * TestContext.CurrentContext.Result now provides the error message and stack trace during teardown. + * Does prefix operator supplies several added constraints. + +#### Issues Resolved + + * 6 Log4net not working with NUnit + * 13 Standardize commandline options for nunitlite runner + * 17 No allowance is currently made for nullable arguents in TestCase parameter conversions + * 33 TestCaseSource cannot refer to a parameterized test fixture + * 54 Store message and stack trace in TestContext for use in TearDown + * 111 Implement Changes to File, Directory and Path Assertions + * 112 Implement Action Attributes + * 156 Accessing multiple AppDomains within unit tests result in SerializationException + * 163 Add --trace option to NUnitLite + * 167 Create interim documentation for the alpha release + * 169 Design and implement distribution of NUnit packages + * 171 Assert.That should work with any lambda returning bool + * 175 Test Harness should return an error if any tests fail + * 180 Errors in Linux CI build + * 181 Replace NAnt with MsBuild / XBuild + * 183 Standardize commandline options for test harness + * 188 No output from NUnitLite when selected test is not found + * 189 Add string operators to Does prefix + * 193 TestWorkerTests.BusyExecutedIdleEventsCalledInSequence fails occasionally + * 197 Deprecate or remove Assert.NullOrEmpty + * 202 Eliminate legacy suites + * 203 Combine framework, engine and console runner in a single solution and repository + * 209 Make Ignore attribute's reason mandatory + * 215 Running 32-bit tests on a 64-bit OS + * 219 Teardown failures are not reported + +#### Console Issues Resolved (Old nunit-console project, now combined with nunit) + + * 2 Failure in TestFixtureSetUp is not reported correctly + * 5 CI Server for nunit-console + * 6 System.NullReferenceException on start nunit-console-x86 + * 21 NUnitFrameworkDriverTests fail if not run from same directory + * 24 'Debug' value for /trace option is deprecated in 2.6.3 + * 38 Confusing Excluded categories output + +### NUnit 2.9.7 - August 8, 2014 + +#### Breaking Changes + + * NUnit no longer supports void async test methods. You should use a Task return Type instead. + * The ExpectedExceptionAttribute is no longer supported. Use Assert.Throws() or Assert.That(..., Throws) instead for a more precise specification of where the exception is expected to be thrown. + +#### New Features + + * Parallel test execution is supported down to the Fixture level. Use ParallelizableAttribute to indicate types that may be run in parallel. + * Async tests are supported for .NET 4.0 if the user has installed support for them. + * A new FileExistsConstraint has been added along with FileAssert.Exists and FileAssert.DoesNotExist + * ExpectedResult is now supported on simple (non-TestCase) tests. + * The Ignore attribute now takes a named parameter Until, which allows specifying a date after which the test is no longer ignored. + * The following new values are now recognized by PlatformAttribute: Win7, Win8, Win8.1, Win2012Server, Win2012ServerR2, NT6.1, NT6.2, 32-bit, 64-bit + * TimeoutAttribute is now supported under Silverlight + * ValuesAttribute may be used without any values on an enum or boolean argument. All possible values are used. + * You may now specify a tolerance using Within when testing equality of DateTimeOffset values. + * The XML output now includes a start and end time for each test. + +#### Issues Resolved + + * 8 [SetUpFixture] is not working as expected + * 14 CI Server for NUnit Framework + * 21 Is.InRange Constraint Ambiguity + * 27 Values attribute support for enum types + * 29 Specifying a tolerance with "Within" doesn't work for DateTimeOffset data types + * 31 Report start and end time of test execution + * 36 Make RequiresThread, RequiresSTA, RequiresMTA inheritable + * 45 Need of Enddate together with Ignore + * 55 Incorrect XML comments for CollectionAssert.IsSubsetOf + * 62 Matches(Constraint) does not work as expected + * 63 Async support should handle Task return type without state machine + * 64 AsyncStateMachineAttribute should only be checked by name + * 65 Update NUnit Wiki to show the new location of samples + * 66 Parallel Test Execution within test assemblies + * 67 Allow Expected Result on simple tests + * 70 EquivalentTo isn't compatible with IgnoreCase for dictioneries + * 75 Async tests should be supported for projects that target .NET 4.0 + * 82 nunit-framework tests are timing out on Linux + * 83 Path-related tests fail on Linux + * 85 Culture-dependent NUnit tests fail on non-English machine + * 88 TestCaseSourceAttribute documentation + * 90 EquivalentTo isn't compatible with IgnoreCase for char + * 100 Changes to Tolerance definitions + * 110 Add new platforms to PlatformAttribute + * 113 Remove ExpectedException + * 118 Workarounds for missing InternalPreserveStackTrace in mono + * 121 Test harness does not honor the --worker option when set to zero + * 129 Standardize Timeout in the Silverlight build + * 130 Add FileAssert.Exists and FileAssert.DoesNotExist + * 132 Drop support for void async methods + * 153 Surprising behavior of DelayedConstraint pollingInterval + * 161 Update API to support stopping an ongoing test run + +NOTE: Bug Fixes below this point refer to the number of the bug in Launchpad. + +### NUnit 2.9.6 - October 4, 2013 + +#### Main Features + + * Separate projects for nunit-console and nunit.engine + * New builds for .NET 4.5 and Silverlight + * TestContext is now supported + * External API is now stable; internal interfaces are separate from API + * Tests may be run in parallel on separate threads + * Solutions and projects now use VS2012 (except for Compact framework) + +#### Bug Fixes + + * 463470 We should encapsulate references to pre-2.0 collections + * 498690 Assert.That() doesn't like properties with scoped setters + * 501784 Theory tests do not work correctly when using null parameters + * 531873 Feature: Extraction of unit tests from NUnit test assembly and calling appropriate one + * 611325 Allow Teardown to detect if last test failed + * 611938 Generic Test Instances disappear + * 655882 Make CategoryAttribute inherited + * 664081 Add Server2008 R2 and Windows 7 to PlatformAttribute + * 671432 Upgrade NAnt to Latest Release + * 676560 Assert.AreEqual does not support `IEquatable` + * 691129 Add Category parameter to TestFixture + * 697069 Feature request: dynamic location for TestResult.xml + * 708173 NUnit's logic for comparing arrays - use `Comparer` if it is provided + * 709062 "System.ArgumentException : Cannot compare" when the element is a list + * 712156 Tests cannot use AppDomain.SetPrincipalPolicy + * 719184 Platformdependency in src/ClientUtilities/util/Services/DomainManager.cs:40 + * 719187 Using Path.GetTempPath() causes conflicts in shared temporary folders + * 735851 Add detection of 3.0, 3.5 and 4.0 frameworks to PlatformAttribute + * 736062 Deadlock when EventListener performs a Trace call + EventPump synchronisation + * 756843 Failing assertion does not show non-linear tolerance mode + * 766749 net-2.0\nunit-console-x86.exe.config should have a `` element and also enable loadFromRemoteSources + * 770471 Assert.IsEmpty does not support IEnumerable + * 785460 Add Category parameter to TestCaseSourceAttribute + * 787106 EqualConstraint provides inadequate failure information for IEnumerables + * 792466 TestContext MethodName + * 794115 HashSet incorrectly reported + * 800089 Assert.Throws() hides details of inner AssertionException + * 848713 Feature request: Add switch for console to break on any test case error + * 878376 Add 'Exactly(n)' to the NUnit constraint syntax + * 882137 When no tests are run, higher level suites display as Inconclusive + * 882517 NUnit 2.5.10 doesn't recognize TestFixture if there are only TestCaseSource inside + * 885173 Tests are still executed after cancellation by user + * 885277 Exception when project calls for a runtime using only 2 digits + * 885604 Feature request: Explicit named parameter to TestCaseAttribute + * 890129 DelayedConstraint doesn't appear to poll properties of objects + * 892844 Not using Mono 4.0 profile under Windows + * 893919 DelayedConstraint fails polling properties on references which are initially null + * 896973 Console output lines are run together under Linux + * 897289 Is.Empty constraint has unclear failure message + * 898192 Feature Request: Is.Negative, Is.Positive + * 898256 `IEnumerable` for Datapoints doesn't work + * 899178 Wrong failure message for parameterized tests that expect exceptions + * 904841 After exiting for timeout the teardown method is not executed + * 908829 TestCase attribute does not play well with variadic test functions + * 910218 NUnit should add a trailing separator to the ApplicationBase + * 920472 CollectionAssert.IsNotEmpty must dispose Enumerator + * 922455 Add Support for Windows 8 and Windows 2012 Server to PlatformAttribute + * 928246 Use assembly.Location instead of assembly.CodeBase + * 958766 For development work under TeamCity, we need to support nunit2 formatted output under direct-runner + * 1000181 Parameterized TestFixture with System.Type as constructor arguments fails + * 1000213 Inconclusive message Not in report output + * 1023084 Add Enum support to RandomAttribute + * 1028188 Add Support for Silverlight + * 1029785 Test loaded from remote folder failed to run with exception System.IODirectory + * 1037144 Add MonoTouch support to PlatformAttribute + * 1041365 Add MaxOsX and Xbox support to platform attribute + * 1057981 C#5 async tests are not supported + * 1060631 Add .NET 4.5 build + * 1064014 Simple async tests should not return `Task` + * 1071164 Support async methods in usage scenarios of Throws constraints + * 1071343 Runner.Load fails on CF if the test assembly contains a generic method + * 1071861 Error in Path Constraints + * 1072379 Report test execution time at a higher resolution + * 1074568 Assert/Assume should support an async method for the ActualValueDelegate + * 1082330 Better Exception if SetCulture attribute is applied multiple times + * 1111834 Expose Random Object as part of the test context + * 1111838 Include Random Seed in Test Report + * 1172979 Add Category Support to nunitlite Runner + * 1203361 Randomizer uniqueness tests sometimes fail + * 1221712 When non-existing test method is specified in -test, result is still "Tests run: 1, Passed: 1" + * 1223294 System.NullReferenceException thrown when ExpectedExceptionAttribute is used in a static class + * 1225542 Standardize commandline options for test harness + +#### Bug Fixes in 2.9.6 But Not Listed Here in the Release + + * 541699 Silverlight Support + * 1222148 /framework switch does not recognize net-4.5 + * 1228979 Theories with all test cases inconclusive are not reported as failures + + +### NUnit 2.9.5 - July 30, 2010 + +#### Bug Fixes + + * 483836 Allow non-public test fixtures consistently + * 487878 Tests in generic class without proper TestFixture attribute should be invalid + * 498656 TestCase should show array values in GUI + * 513989 Is.Empty should work for directories + * 519912 Thread.CurrentPrincipal Set In TestFixtureSetUp Not Maintained Between Tests + * 532488 constraints from ConstraintExpression/ConstraintBuilder are not reusable + * 590717 categorie contains dash or trail spaces is not selectable + * 590970 static TestFixtureSetUp/TestFixtureTearDown methods in base classes are not run + * 595683 NUnit console runner fails to load assemblies + * 600627 Assertion message formatted poorly by PropertyConstraint + * 601108 Duplicate test using abstract test fixtures + * 601645 Parametered test should try to convert data type from source to parameter + * 605432 ToString not working properly for some properties + * 606548 Deprecate Directory Assert in 2.5 and remove it in 3.0 + * 608875 NUnit Equality Comparer incorrectly defines equality for Dictionary objects + +### NUnit 2.9.4 - May 4, 2010 + +#### Bug Fixes + + * 419411 Fixture With No Tests Shows as Non-Runnable + * 459219 Changes to thread princpal cause failures under .NET 4.0 + * 459224 Culture test failure under .NET 4.0 + * 462019 Line endings needs to be better controlled in source + * 462418 Assume.That() fails if I specify a message + * 483845 TestCase expected return value cannot be null + * 488002 Should not report tests in abstract class as invalid + * 490679 Category in TestCaseData clashes with Category on ParameterizedMethodSuite + * 501352 VS2010 projects have not been updated for new directory structure + * 504018 Automatic Values For Theory Test Parameters Not Provided For bool And enum + * 505899 'Description' parameter in both TestAttribute and TestCaseAttribute is not allowed + * 523335 TestFixtureTearDown in static class not executed + * 556971 Datapoint(s)Attribute should work on `IEnumerable` as well as on Arrays + * 561436 SetCulture broken with 2.5.4 + * 563532 DatapointsAttribute should be allowed on properties and methods + +###NUnit 2.9.3 - October 26, 2009 + +#### Main Features + + * Created new API for controlling framework + * New builds for .Net 3.5 and 4.0, compact framework 3.5 + * Support for old style tests has been removed + * New adhoc runner for testing the framework + +#### Bug Fixes + + * 432805 Some Framework Tests don't run on Linux + * 440109 Full Framework does not support "Contains" + +###NUnit 2.9.2 - September 19, 2009 + +####Main Features + + * NUnitLite code is now merged with NUnit + * Added NUnitLite runner to the framework code + * Added Compact framework builds + +####Bug Fixes + + * 430100 `Assert.Catch` should return T + * 432566 NUnitLite shows empty string as argument + * 432573 Mono test should be at runtime + +###NUnit 2.9.1 - August 27, 2009 + +####General + + * Created a separate project for the framework and framework tests + * Changed license to MIT / X11 + * Created Windows installer for the framework + +####Bug Fixes + + * 400502 NUnitEqualityComparer.StreamsE­qual fails for same stream + * 400508 TestCaseSource attirbute is not working when Type is given + * 400510 TestCaseData variable length ctor drops values + * 417557 Add SetUICultureAttribute from NUnit 2.5.2 + * 417559 Add Ignore to TestFixture, TestCase and TestCaseData + * 417560 Merge Assert.Throws and Assert.Catch changes from NUnit 2.5.2 + * 417564 TimeoutAttribute on Assembly diff --git a/.Net/packages/NUnit.3.9.0/LICENSE.txt b/.Net/packages/NUnit.3.9.0/LICENSE.txt new file mode 100644 index 0000000..b909e10 --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2017 Charlie Poole, Rob Prouse + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/.Net/packages/NUnit.3.9.0/NOTICES.txt b/.Net/packages/NUnit.3.9.0/NOTICES.txt new file mode 100644 index 0000000..02f3f84 --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/NOTICES.txt @@ -0,0 +1,5 @@ +NUnit 3.0 is based on earlier versions of NUnit, with Portions + +Copyright (c) 2002-2014 Charlie Poole or +Copyright (c) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or +Copyright (c) 2000-2002 Philip A. Craig diff --git a/.Net/packages/NUnit.3.9.0/NUnit.3.9.0.nupkg b/.Net/packages/NUnit.3.9.0/NUnit.3.9.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..3dd879824fa8fe69cdb75e291d690ba4274c75f8 GIT binary patch literal 2173048 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 z z`U0rEx-m)5Sas-nzYQ$*J-kraYhNbR$^$! zK;A8(yoYq}jgoAJqG(mvRt@O4szaF{`o)=F8)QEHbzEY=(i@poIWc0D)1u0c<5z2l zhgBqi6ga+&1XdvzPkt^N*ZFL$GCN-*`-;peXSB+H734oUod16%1j_%MQ2wisfqI{T zRZA1+*tAikB=Hw1`z?^~m>}P=vPx>xu=w?Xe+o)L-;ore&M#?fWAZuY%{e3ij1g!a zVl9=aygz&CN>Cp|Y*y&CMs6gt83Q?0qh`RKnLH4(1Nu(Qv#jRk9Wh|n0_?PE~k~yqum?Rj}=Zg(l>@e7$QqK-==k6 zWOWwsj1G};X7N&8??I|82g$M+S`OE*$%aliyI|TiWbqt_8rg&Cet@f?z59_OY?5^{ zD#2uvy?#`D03(K{iEz=BedIfn_kG<&$9^=W4z zJnKO>m?`vjR0`@zYJT4H%jZ2moVRlb#+W4kg&s7}&%|(mF&Cmu+(WX8khl13?;~laHr9M_T?vFYoLDkv6Za5QX=!ireW~ zHmIvHJF{%|cF58K#}=FoQLm2n!tSp%v(x_ObtAle$^NR=wI!2hPdtr*Llq9@7 zDOk%n4l2f=U3iC9DQFCw8@lKqFZjRB>$?%GqZgw6J-pO(yc>_t3v)|CH<`7hHRD8p zY>Q7_Pz6{HfVK8ch@6iJvuBRG;$^|ku$9|=yIS1#y2AMR&|7O_S&KC+q3Ihh6*q7se%{yRKc_OF#4Xy z!v)95(d!5;bb#R$?6WQ%9ujp{bEoDBIs$P@_)Jn!3SU5AsDy~1EDxUSH;+`^yfOh$hYJ9%pG(qPprbUAD z6|qQgz9MhO*8UUE@>g+ND!ePtMPY|I6E*a@S~Iq`4V#CRvhqi9YsJnEdWl#nmY%#1 zbY+(NM|_#Prfk`cQ`|~AI%N=dI%c{y4qYGgYAGufcei2PNX4nAi%Y`Jms4iZ`3^H> zGE*SZg5dKV_#Ae=BZ2*DYbpW#DfEWn^Bom@zC-r0sf0S;@tEeH?|2((*x*FDa#oqD z%v;by$(6Imv19aFYvkq%bte>eFjHG4gHu%@7+(0?DSS-{?j1FPyixvjLDxf9og4|+ z@e%5KG<6=t0e_a}M5jU-+uD=kboUuNJN7m$K{+mJ=oMz2lk|^?n2gF}A~+;w=Ddns zeR@mMrjsJ@n!93rQY1kKGn~`0QVQo}lxM>8Y7`U;pCGa61PQGp?wm5hhe*n%GQLhh zbY|p|P&#zF1S(a2F^su8N}(CTo`A5;D;e0lvLoTWJ;F~kTE}?NX%y6TCrDjaYPiGB zq6m2om>9*>5Y+NjMd08yCy^TPN`gCkM~ zw|?kwp!Lf&a&KxqXf)1K;FkAp?5XYK;`TAlr@x#|>z87fPKyWSKHx6>Z``H7gMIm> zy!TnZ>3yoPgNZ#SzEhFnaES$zGsag- zym%_cVf`{}_{59DgRKGbE)u<`mMoJRT4ypS`%LF*iW_yV@%sb3Iw;TgJY+hc z)`|3%xJjKU)Vv0ZI@5fG749x6wn=?v($0^zLmg(m(k|)|CFx}Dn;T=2C{}dTj)>~A z9o`J6f`$D-hU+`L^vJ-@;WghK*dbjns9un1jIK`cWQq)fZbXu!n8ZaZ3uRngOm?%} z>rLxn^JbOLZQQVRL;7#0eC6pd_jjRum#ZUW?vwJ&RY_8JQc^%QK@VaD!9Op_=`PZ= z!bi-CvRhqrB5g-`-p%Yv(*9VvjDIOJcH(9Ex=%_PZIN{Mtg=b`TGAxxZJbe-<^h#W zwrn;J79}xIHi?H+5;?uh`~IEaJzg|SSEgdc6n~JfIF89f7+nCSlY3T zx=(AgQIC&=X+adE8LSJP77cHD@}6g~xMgK;9K~X-=pD7=D{IBKn zPEl2q=O{~x{N8Y0hL`!h|2Z!oe3>%;FXZ!~tdeBHcoo}1Iz_eaqcRl5_KhENHx^K+ zx?P;mCp#i5PVG}9lh%?4!~*w$A@@OK2uE(=92|HuVUKW@Q55fTsLE`E*x}t2a{nUa z{)6vUkqj6gx5)6gx5)6gx5)6gx5)6w+W& zNP|Ja27~atS*G|~>Ay{O18l4ZYT;yAD6;Adu3cM0%hy!@Ko7<`m?}I&^VnVtB3&+# zn_-bAm$YeyskcmVpQWj6dyV&3kf*Klq7z+|WyWkCcirdUM_#>gFVx<0CK6;1K{{TI zw%frxUF-02O+ok6IV#*et&31wO&7P-89KM;0v##+Mywo7k1mJ2uar$y)^0P+~Kj)WCVo#mge38BQyTk0o z-z{q|{_YO##otx-;=xC28(MhKewp5~dr{zn}86ZBZ$BV*m#Ac`epw zHrg*7N-du4HCL+rI34%mw25?|3$!ewt-WEK5WN`BJrZMmf|G-IABLG(ML&t?Pb;Cv zg9L?0lITw(`UNuNE10KYY3dxq97tm_rLmUMFviv8Mmd-tyHn2nzB}rEfI2kHh)m~B zEQ0eq_DbYz=rnXM57ywHcxn z1b9LRWnic<(A=#BvtL)xBXoPB0goXw3crO$JhXo{R>DWU%OC~EMD#RMGY3wG>gQcw zjC}?7>c0cz1M6jt?ZZlHMX;#SW20vpdvrGzp$i3d=RBSC2i@7EYqb8LDB?`d6m9Kd zoT2W&#QRIgW{|^h*}}+%?n3C_0142-xVpiElQi5!MBNWLN6MQP(cL8AYxcmN&8+|@ z^_OlXN+sm4D)CoiVv9r}1<$@dTH)#D>U$wd0-4CpBekQ@hvHm9dW&-rzN*7mdswB` z?43(=0uCqzepm_|RSY!Hv>nPH`KU-|ypH=q#xxl_Z@7wo(9zVk_n;?Ed zg=)uS)V-A@X^;{t6Y40NP{8rTVvZ*Uj7|#9M0`OWlgs8&a{ORpi+}t;!~23qsdnJj zM9@;l`8hT%H%q-x5jsPGLE*o{bwi_8eO@K5UFKiSFJGX zm$GMOR|Yquaw!2133V7|{W2tP!n_XZ9|eyAOtQZjU1#v}mD8en5>!a}v{Y+ExkjU_ zq5mwV9XQLkMLA5h|A(;KnWGO3V8Um@PkX)}-I>WdiNd4Ukk3>hUL{C_0ymz3mzQC; zpK*SN!shTJTG0&24^wq?zoNVrh4Y#&^O`6Me=N@HRY>a$3>->Rg49;f7>7nBne776 z@26FGikiCM%byYNXalHr908`9|uh#(-q>ruzEASnS1jqIaKh+u$k8zH>F+ z@hhPRmFryDzvI&#$8`zsUPg1ZF4B3B9O@!p7=A8w<*1SjLcQFLC$T&SsL(1K@k(Wm z-&{7n?z~8+e%zp=;)uIuW9l zwqLkbI)&O3>8D2D`4}(ScL6?x-j?V)4_sE?x6$8=zbzeZmL#91j{l^MVw0Qbb zcV5(KQNJGQ^GiA@+arB&WB@k!U_$^l`e361SBYNaC=c>N2K7!GTguBk4oj$#4hQ1- zV-A4wSsFAjZ7RtbjByUOwcy*FO~m78io?*b)D9>-$WkI zDiZ`_emnMBZ}Nn=_d>PSeW6_Z{*D5^!xh_k1Bd7HH10Xc(-8@ICWbwe!k)=tPbYVe z?CHW5hCF3?PXju8+}B9SVBC|#%jY(M5-k$xWUkt>g=udod<>ym?ab1ojk_6dS$^tM zF!go9c}Gi5r4Qx&C2pcJU{Zx-`^ zxQB5*#eBPYKrMN*_hj@LIMSD%(-JR{6iY2Zw$uNnTiIz42Yo)DYc zE#2usB7NKKfi*YaBh~zsjYXk0rr7}_vl9v41#aX{XM2>#G`2^vX58;*#JlVvi==C` z5`z>ps81*LkU>g=9=1T&Ll)?PJxMaRL=V}Yf368hGPjc+HX+diQ;(1dNz%?&3DeR; zRw2H5$GGj=w+kFAcV?B9Uu!?GZuEUmE4tPHd)({jbxzDsYn5ng-c9ZP`#5H$pr=AI zCys}j5Gw2vp+zKgyR#y=h?J>`;Kd5@q-jGNtb%E?I|sbu0G=D6{lLl^=o)szFD*zj z0Q%qp_s=fZxhUdC?fDl5KFfji-~JaTF>ug#yLujq z_+ZZ%q`IA{ez!$boIO50a$zm>xIq=dKzdfCJd1mZ6(|aD(e6Z(Gq;i;QYV(EDdt#i# z1y>DC?>G(|-f#Bm?pW9zMH0i?G+OG0GmpZE??njxu8&f3&oFw4j~;~R{fu7eqe~FI zfzca$bP=K#GkS-Q?uzJ{jNap;vk*Oz(ck#!3`7rP^bsG$13C0<7C`^xqZNowVDtqa z{TSt1%jj!9`ZA)QX@tJxqklm34Msom(K`@*jM2}0^hb#Pg3;(0h2qt$-B&VNq0shq z-B49w!Z1qJ;BMsAER6L1pHX;=?|+B~vWJe*RaLHAZ?kls-vYIFzsB{K?RxdT0xxo@Q*tQb49GJbnZ#jlG3R3*s_c4g)5 zqSZWJVPE(bc3U9Sve=bfu6yIh z$mKc^RdzKMC5}>U3b^AE^nJ%w4#74b5&bvkFlUsQE%3u3nyOfNf&d?l0Qz^1x zVs*QdLw$9gJXD|s;dlo}LcvQTrNPUFA!wtER#u4ULy_XZ<-^Di8HOAhp)ZY2nYBCm5;}zn9uJddklMyii`lCIWswabBN}qK=Gbn^G#v zGu5Q!L^)|00h1OA!V5wfxUxVDA0DC4rL=>GvKv_GQdiUh8TUONoZ^CNgSjGG+Id@Fg= zwD(7BLdgnPbpAZl0R|7}{6lTAgr{kV-#H zCX8kE%i@*Me4;7>6N;!agD%mY0>9M}gP)Lm8k+7*bnBx3hp6_y&ND^ih1`|6MB;s4 zNl(yrj?5c6G)qLC`37%WyCdRMw?nbXASvqXIX6Pdg1*Ma%pL&SE4VihY3sJC>)?@W%0(A z#RFKiy%$hx!J>K}qYHE3lB4!BaH*!wtDONdnd`4j>9ktmrN%<{z5iIXnWQ@lv3>|= zfgu+eoIM!WozA1MLGGS(&li!<%7ySl_Qq2riCmp<_QKO4ro|s^+Ugr*zK+f83f0W6 zkn06MR=|%XaHRsSl)zOAxXNF@-Cv^*Ql@mYX5Nd~8;W>GVu7Ak1xkbBsN;k_pXPZy z2%2ckEw-}{K52q1qjx?joJF!88Ct)FUlYVJ>uBsKV%SkEA#EV&bFI^))mkhitnVaK#7Ldn|hkaTToi$Tr$6+o}E z)0B@bhSLIr!B)A?a0}4xO0>sCNb$%mgmf!nAx=7DG(6CWt@Eg2<1cq0X~1v<U<~1&i0>mQJtyIi<{W}sPmGxE$utk>6z*!wZy7Q$ zuOE{m1`3C<>Vfys@!rBJ-cd-8aE@SehqTTv%p1o>Jd3YRo4s&{L;G}&_LC+Tjs-6CFYyzYWIK=?=aU>) zMDiF6f9X}DxAWf_&PonVuhQ8`GQ$0y(afjuxqPk~v5GnUdNHRRkl=__&PhSyCn*_p z2Wgj)0j3JCThHz=X(}P^k+^;d-J%jcjyblR;dp+yR}_9cNWeV>9P;4&OS6aY?j-*( z{`8dYAF1ah%#LM#xm1 z)3G<9$aq&lPn(K=2-RJ*^nxA+Uj$lg#p6NDz-1Cg6rNxnp$4KsRlNOun*(*qhsOZW zK5>D#dRo zj-JNrLe(DZe?!w;N^{1Spczm!QL=g1>r1~+;S^9nqGgn`8XOg-WykpaUMiJ{e1*`P z3uodq`X=Z)4e%S%e>3*XSjR4h_vCz&jm*5xaq!Xt1o!UnJJx$+9mZ*!UN{TcD14Rb z6W%h5A2h|Z^K){R1nm42#%%ZN_~zcs?Ie0JzkDS>C7!Zu(hya&_Gbp8H`^xb>bnFL?Eu`(cooJDJk(@-|qEx6`cx#u}`!jrND<7}A!U%1m$q?Q7 zK?#AzI>`d1XES-aG@X09y>_D^+pB9@>uVcqRO z_;PknLiZ17N{Z(Z!xwzD_!oR(o)#0xd%ha++jDHK`b?Q`|1QvSrv~5tZBuh3-MI>L z+PqTTpX1Y7B^RGJyP9gHcnf1hJT;govIwJU%WCBCOUWxWWvlh36r9=*YcH; zd_4-~oz7YiY;mf!e0`)94$jCiY^9ouf2q48uQk-&kyxCPyCVrIzB^KQM^dZ!Rgf_V zbX%xCK>vd40jc2oSKcKMrDZ4Qo1{PFTej_~`V5mks=EgL1CK!(gZ1MEwf;|qW(=8= zaFOL(s6anPsdGQrpfyd?bTluU*8dpk&FA3wu%7e&9#HI$Yd5sjr?=Ob-V@{T=;yhp zVQfSV1FGb0hT7*7&h6;lggtp~UQNW=jGeIQoQLE@VR|n^0_^tFv%~4xq4XeyZ)2~1 z2k#s1U4Gwiinh;J)xM#i?_}>!?dMjUP@K<`rx0Izmgnn3pD$DLgB`F$!jv{8T+HD0 zJ77>#wk!48(o+k-u@0=rum(SG#Sb=wYozMs zgeAN zmD2Mx{7`6?0aT@=GZQ%L1LsIO&dibj%#oG%8TO*wW`aPLV*6<7!alVDzaZX{)ods%5;8=wa&%jUP=0{iJ{*C;Nndo{ofT~*R|O@zOup3YvS2%C!t zt3!k>@h?reoG4exV*A-4<;WceHS9R3k%Be-{q_ zKLLWmwWtGNr`#}rZIkA(1K2Pd2e5@T4Pe8{dU8skyHjl37zC}m3$^YKP2S*z z4wyK6DDmf%E=Z28QrjC0>4Lum%D(3b*b8s}eE|v28cwJ)k--FubuncA8%Ol(B5a!_ zZPPPlbw6QR&L{pFSU|Hv5Y3Td7|k4i&!q`%-=x;qmqqQ&Rjj39Zr3CX3P!E*ClG9e zgZaMkD=bZ0hWYurVtpB1@t?G^Oll>}SFfk}Dp@5}#9CKBI`Z6kXqFOdy=Lb2gULK8 z*81rIv4vA-#ahSiY&A@6jJ4KW`EYfQr(+O8Juo}fx|0_AH^02^yq>!a6{{zPK_8gt z-*C_Fdt&Uzs@~tdr&}nfXC{(7N+dt;?_At7NZG$Pb^8H5I}620&jN6EUqe)#gDVeC_G9e;Yy zT|z-UZ|P{SLnPmNY4@-77*rUsb<;O{_N6>fMm?>_&Pbvfd7pW=6x3J0I{$Ly?4Cy> z7h~FucQs$sb2(*?P|sH|?N_7duWjqw(({y1v3lYd^biGYzu*^lVC-{d^j+PvMkuIf zHs*OHkvwzWdw2HSLJ5yJ@;5*4c~VoH^xTY=MQ0GzsdYC$GIftw>z=8b|9}Y&y?pTl zJx>rRLOolM^Z+8AcK8(!_jFQTgEcol+>?u_1bPxk)xn(IJn@g1kdeOm(Vjs~K|OaN zNrFfY-FV7lJp&Z`Z1;+%dwxgGd52#3T+d&Sf9TRQ+j}CbjF3J-a2tWo`5;mLg1|R? z@FfJVBJd+0d>+B`39QN~@XrWtAh5*;pG5F@0&_mN4Z-~gobH1UBe)BJ^L_9k1RVnR z^uY%ZtR--NAG{C2A+!nf4)MXe5&SEG$NS*V5PXurf)Ap7UiZBOp67!%BX})=7yID# z2!5BqD}3-81P2Jb*9U)$;E4pj=!2Ibco2b~7Nk)iMkd%C|fZ(4AT{BX~c7r}^N)2;NBGxjr}#!S54zu@Ckj_%#B5>Vs1d zbP4>G54Iq0G=e^ z&;a-o0ec3(Qv}QmfTszV5CDHBpgsVeA;1cNX9@VH<^wMh@LB-8M8J~)@CpI<2LS0q z71D!BQ7)26bZ-p^UZWW22f*tD3QQDU|XoN49fXeRKtQSr~6%l z(Yjq)b6J~L)_29M^p@&~mDvJ11P|EW(W*AJPqV!feNQK}9N*JsdtdcEqit`K?-`Zb zNn}jtGgJjcy>g6Hjt1%QF8BE^+@ovedY;pd1AY&|wd%ZW6mE>*T5|t?pfqvaEbNXS zX%oGuJX!A2C>{BG3{n|*S@ZW#aUyvr*?7MKpkAZ7H{ohVt-2q8P}98`XYz)73r-4Y zjl5IF)4i$=X}V>28Rg{IDuSQNt!ht#zZEn*-+YX(nMzL*{`FIMc9dw`+jtG0eD3W* zT5bPD8F21MeuKGLB)qY}b>RrS3d6CY%J%*Hkmg}jzKIa*o?_F5M|xDQx+ZcfEn0QO zWl19{7hEfHQ)9H?T5FizZYo}zcW?);aN$(iE#T#OD5sPW05M*3y??MS#w)UTrJI$C zDl19~J#R1`x*LSnm1ymuL!0ZWHQ9P??IvD_SR@K};F9VqzBbJ|?tu_?IIb_;iPPf# zS0UJF*XwhlWzG=^VUc|oF8nmn!cPk2gqC4>8}Ie|X?Xc(&@4)v(;ESk*hJSEqa<$46oz9nay7r1V19;oP-S(e0&m|IWE5w*+bujntkSx!I4wPtmO;Azk$f)|8MOen z0_8BC7r^LZdT3;^6dPgX;@eXGP1?Rlo-o-gsVXY>Hgvkj>?lk(KM{AV@fNE1;J9&h z@xjpv@8b^qo(ry*74Alsl7!gofd+ugj$Zdph(LevKYgj_T5K zyz}MD@s6hU6n2o-yI(%7cT3W$C{62cUp}qBNnw1Xgz*szoZhg%0*Q5`xVv_{R6C1m z-vwpwSX%SP7Xy9FK6J667n_K;Cyc4T`JrxKXUk}jn+h+-$eW@zV4HkhFnM? z~U3dxoUd4USqHY_Ck+N_b&Dy@dDcF^SJ0yr)=Ryd>a3k!|> zq$L!xe@Rb9b#D$531<=p1?W6RCnNe`M4|HurMBk&)<<_k)X2{hZXWZQDcp99_7Ls{ zn0VK&3)AWNns4CQL4#`IxRl&GeRVJyzUne`|Iu+`^x1;y{f*2N;@g(q`k3;st@LN zIa#C4e(F&TXH1mtaNY?Xe#`B`mYen4ZDtI&Thx`&ZtFN4f7gO?kKd_Xi=$HB)@ewq zj_7L-06agQ*&nIXW)yveSEpSs`uJ|)k9eWvqu|xo=8$}6eeF0-j_7k}bc%y|X~cxk z*I)$q4E$8F#bwmj;vkvNi2lFBNa4LR5icIXC^DE$5|V6#P$BwZI%wE23M{G@S;6&+ z^Cqon6Ph&y*eSzoURJZd{anheZj&!~uPAIkZi{F3vXVDfzh9ILSBYAZa9I`>Ww6?T%XX z8RLZ41+)Z6cCI2l*&WOD^rT>0hM1PESSDGnSK~?WMriLX(@~k*OVIU(&NPyMV3M@^ zN0cAdeP>tyElKoos|0w`QX<0mQ=@()dezgTWRp(AjqYxXD4TS8;m$5Wo1%|Od%CyB zB&p|n2T#I|jJhMwmiCeOt)vrZ9&!AnU>-rDYa8Bm)eK8yoRnJ|KTC*DLt+jfVl%r) z_s*jfCi!fT9*W16R}vqWg!mx&K8Cwsx#KPOaa7`<4_5>gF&aK?5-bitL+Q7Q1~;38 zo3Dux*X(0PY?3mDoJJu}`XO>QbAHKeM(vRo&gJ>bTRL>Wyw{1J5x{+Ooa5k;qMXSW zUGhDb{qNB)eS(|nan}F--zqBaZ-er3AO8fEcTP>jd6EnKVyM7)#ggp`9Pdx%g6K9E z6n29X@s#2oQTil};p|BlNEyy@Y$gZ#?bXmgP18=o z_A2x?P@ke`6SV}jFxrkv&w3bNq_cOFJ{dpFvPRCq57u#L(#|ZS-EDl^uKbUe1b2U% zXs#g|C|;%`pW9z>G9x=GGwIf^fM98NK9|g7T3@M_K4Ks%3A-vpCS7n79sgi)5)J8AcU?K+<=&B<*v1y%wDMwbvUT3S1(%7r4&|y-Y{gQVsWK(JWjp#m zqh-7Z>$^ir8y=GC@pc7lmw*!Om`m;aYB@? zbR}(E>FU~cwwmJF=`9)OSxECrgyME)3pAChq2R16FNx98QzExeq{;Nyc@Fm>*L78i z3?IVfU`II1urnJOq%6YeLN#Mb)1t*IxxNGA7k>W_#)JJab^{ACUZV}A&-VKxypRaq z`aV&4E-b-R?Md$^ooLs^_Aon&>D@p?S82+Iw@>Lw6eC}+yY#GPKl{+efO$e?g?K~T z19}a*i@(kx7)WHq7}pNp+1VuVYXTgdWTv0>ZQDAyS)>XxqFHLhh7(j;mQ>5L_!qU8mb>}4v`OIHO(6z7n@8)Wd z7+zmz2)usF6m@+9J!uE;XcvW-Q5a`Y(3T-Q?eyJ7a3 zxMsEuV2E=Lrjm9xQeuC?17fE~HTfO$$9Kq&&iv?f>7;WM^#ybhpK}7cPek`gF!rCM~fqU9o;s&Pm4+x!F@L3amK%e_&JOh(7lG; zYtg-q-RGivqiTP=#(WCeYb8+gdJS@4`z>s)W_zkI7po)%nD_zkI9@Z`B8U@rypjH935~x!^ zodiZGfE*WzUK3eM!$5~s#(f&!H=auBGl>yXMvKa4T18JwAftec1nLz~F9ED9c=00D z8oG~(G51aRiflz-2L$MJ|0)TvD&c*yT&KwEyd}d%s_aI}>>3n6j&r`SC1!tL%2O!| zp&W&C1gq;CP$13`8g5SG^8D_kzah)Q!3N+q#bqlX+p!K=zeVBjD1EyTMW0WZ z>~LSgA8fDC^6ARg_2|xac(3Mu zHM}D=CES%X#ex*wesmqyB{$IGf-+86WH^(wTVKCt#-^zU*sbUM@RkWv$Jwpcp=->Z zV{qTM^{QV_sOtG4&M7Fg2k&9&MtcCe^`%wa(|hitps!7sa#+u~+Y_^{>v^3>CVjlybv+MiDzpc8KD$pK>eEhm`L`X7cI##9AN_sLBSiAA)U0QE z-qz&qw#DM2ooE6l5qP93+svmmxw~z7D}B&byW5uM`ryuLciZw#^TBSlyKQ-WJ~$D< z-x5fh0|d4scq@T)FqlBJJn6oKz_b16xZ~XYO#(0U!SM(d2)x<{+YmgQz?*!K?%=_% zxfKpKaS4Vi#=E?%maZ|K_t0tK?J-y-+#a9;^nILay$n+=b0~eRKh=t53#(1~gjG>8 z8I_EkGE(;NbY3b=CuL+sPz?*m<1GuqJr-}Z-#_GD1MW7{T^52C4u|$04lNoEEg23S zQv`8+?~wJKwgg9{qLOreh}8Re7p?+eBOoo;`&*Zqk*Gbw*CJzWA@5Mhi=CFRyLd7E zGMa-F7Qui%&`2MWC|niQ!q><*M>PL?XfPkeGh8X1mY&-!?^DP$7xhw8v{T}`b3IP> zyb0iGQlApUivitHHhyuZ-fFjKtvzR25*n$~&WdwG6nzakZLLUOqwcmK5#750qcHMe zyHMBTgH8or4{CU~PQkS?ii0alF}^kvFC%fE)-`ib3-11D(vBI>@IxCBEC=-axK@zT z)9zxM3ce znE3RyM#vmBhHc|g(Tm=^=?!5L!ubvM1%tRYWqQeJn6`tzw2pC&T6fgz9L*$_kV)qr zQu^=4@iQU3B|sm7f~!0y*9nHyRh~>G=+<|-u5nwlnzI3WsKO@95`s}B1QkpWhlf+c z?xb=Dx93ndzKpMO_!+*^t?DXL^6E5Rx7P@rt_w1#+Bo+{)tv{sYwA8=dH#-G3dJM= z#A&Z9nC@qUNeOXjgVZ4R2Uw>v@O-nJ6Uj86Q)&9Ii(V$h2*22}DQEq&ht>W%6AIVl ze4U>o^)I6Sfx$=6nQ`d6TzV6J4$65pF{DW2ulg3- zKP>uUIEe(jpIYh$Bgl5V%67cuV{C*hvFkV;y>G0<9YsivPT}|`PP1|Poc9DpFhOdu z*qKW$Hmkz2GPRrn$kEWBXM8|Dd)rlby97EE&>?||3YaK?NeUpxzeVq4l+r{gB~Xe< zilDWoU8qL6Ty?0eIIrP!Z8Ax2vXnpHHFP@m=i6WgAe)kVO33_V4dTK*%MN`o?#=84 zypGR}D9shep>KxsclXk2J%5p3uj$2(4!zIv_boBUxKDCFHK-YQztK!wph<7?&-Cls zb&%#)XuTS>H{skBmFrlv(9TVqTZIHppN7CM6(HPS(WFK9&cOik$z9a@WWZ$<R>4@cEG(|^*QSS3TcL3``txJ^Qh!u^^Qt+m8OzF%ys^{*^F6;kod zL+E{>g+4TjvCw_t9VHX+juMkEDcP1+eP5czcRZ?RNblc5@|a9-$E2qFuSls?m-|Lk ztyS}V)4im(e4Cdr#E2}5(R4|epJ4os);D3^L487YHT0rG+;6=brESuGtG=C1UCXcl z{01(P3m!iJT|lD0s2jV7ySR7I{jOX)=u|bI91Y%sI11e;93*PDWYu7AP_NQ1bS<)8 z$+h=;RDFazwbIdKVaaInZ0UHkM+w36|5pbra6c0b+|MaDonrrKl!j||&=CuIALWOG z<)U|rT#~`3`**aEOe>hbCP4x3W56m2oBdrVY#DSZA6F@iGu8QzNpgOx3-@aQ{OK8w+bR=QCVQFf4Z} zu9i%*c*}Z>MT3}8z!sPU{r53UhN9Z;5bYMR&mtcrvmKSAn_)@_ec;NX`zL7)WPj~| ztAlg9OW@f@^G+Rb1;GTf#Q8tsdPB&L~eu?WSul^_YV-XRDGlC)w27pmD=cu{#pKM za&Vrmx~SH8x%DzU?7@sLKe?nT{L8bQKmJ2XkJ*p32uT zt|7C5!k$SSIv4193)*7_TaBv=x?`$NchaV`XXEp%_-EvC>lFz#9rPh0&Ouz)0LNf# zoN%M)fRWpTXG`mfJfvs|GHm7fU_z^F(PF@41~Cd!cTC8pyimlA+sKm zFW7=EV%P^5bZY%RaaTy;Oswx~?vLPj>F$j-znE9TqH}{CF{>3#QM;0$rY^?F4G_5` zSxyk!Pm7#m_4i=^Ez()dX@s!&U}9Wm0I@V3ftS3;HM>SjoG$HKvub|UQr#beWa-Cg z!ge^qi3^;Bwf;B?ELmnDA?R}{wBLCuu=iD3L!>+1EWs+U2(C1nffr@7nQ+2tIfPE^ zCGB))%u3sIVKJaQ&qFkB*>Z-L5Ok#*-tkH{t+ml~EvS`hJ2fZ2pl+pW?e5!w`;?Wk zx75Z`X1*d7_1>JWj$~(Q%~Y)A2tVK6R7_@E8&5@3^4o9&$s19`unY!35_Ng~JrKS-Yf-D~#T?c2AfqH_C? zBo)kjCt8fi05$(r`*pb5_ciJ>k%73LH}uWz0;V-|HABMk-u4BNPIl|KQk$Nfv_gf@ z@hZE#9aCSEz}s?ajTm2^Z^zc&gw|3!r|`QPD8dn4l_|q}f4a2yMmu&%YkB{iPU}?v z4g$M@H!Zey4yI8J@rHt++)1&u*C||d2lxT8wbv`$4Bz@q`r^}>A zRxk1iy-SF!z&qIVc62$d@D66+)#y4q@v?QX?MDC80zjmPy?Rz`yQw(zrsB{!#i4VG zL$5Cmy}mf~y5i95ibJn04!yQG^e4rkKPe8qra1JP;?S#$L$59ly{b6$s^ZWqi$kw0 z3f1X*5qS&|(y3?pUEn+WuF}^75%+wR{Ju~-)`djcu`(p1jzdF*?${?(ijH|9L3d0I zNv^{QiK3%1RJM-FP*G?nUgQ3<5o*NONw4URN7T15{-fasFn$m8Gd@5kU#zK{Tj*2d z*aOtlUR6-hnpBHlJv3{S6vd=r&M6 zml?yfmJYwc%$AgeirD6r(3HD2sOwT|jdX1^cL)p=xn1xga2k}_>tImeYf}kJqPkI^ zGN3bt|66nnq%V@tou4US21X3Lk*f1D+s3&RW*F=WY9qTE`ifE!9n@1~sciA^UK;?jutK zjT{cu4~H@gEeJt*LSRn!3C`&j%j`s<5*X~;EfP9YGVIL5+{l+Y^RUDCbN+|%=lu`k z&;K9B-}TGIhY148(XA4E4M;QlY0lWL`bUCvw;I*QB3t$8=5XtDl}AR4wJQ5`UEAod z)djZBXgx9$w?4XQ5rU4X=w;DP}MVBr$2|@!FZf-_F@3toClNg zIi~y~_DKFB_8L^_@Sx`*CRt8Y47SRwUo8K{>vT32)X65TZ7!eBT!m{lhnng{sLT}S zvoJ@-9dhd2mb1v@ekf)Mp-7L0A+*F%t*_lIPe_cGMjwKmiX3{HhPyjh*s>9Um|h_*@RR`F+nGfpNyPYOyzp7l6S!U+W-2zwG&?R+t7fYZG6+!% za>ALR))i+4b85V+_*|NY_;o6d_9s}UbXrAfH_{2;Eavs_0!=1s$+d%|)|};fg=y|m zF3k+5x#k>Pmu177aKbN_ChXUhq&9Zqf0g$4|DUAYKn5mkKeV){9nhD$|5uv<=iR8a z&EYoCK=vV_nz7R41@T3y=8)qo;haES1_`fP`Ox->O=IVU3HUlzsxK|7zL05*>P9M= z8afWNau_GiLVa<4fKu+DKBWI=^`R)?mrE1=pVf!|I_(CsEu#LSHPm0A#SnfAP<{b) zuLxbmv?uLXI2obZs7Y(0Xg^0^t&QWUA@|fM_e<>3Mekl@DG_`NJxV)V#R#qj7oyk^ z%|O)*h8LZT9r*awSCFgCLb&z#dJJczkRaYhfn4bZe@6TjMWa4iZ)|PLM7OrpR~lPG zv8q)p{6q(Rjr>*>G2=%po6BGQ{>i|*`cThE>G_5FTC}%;@{bW_9jD|r_|d1x==^1M z5cNV;C^SS32ZcS$K?FpTR4{!N;~Y^H;T)VsKL?-W)e@4X;Uq61$%CrA^+kdTmATTF z5r4lul<278iN0Av(mb5xl@gMc;UsUAkhBgbd0C^c+*C!J(Zd7rqqErygx+rTj}deq z#@OLRFCbAro$K1ETxr{|danj8X58?&FP1PkemKc%>fNm`fY zm?$x7JlDi{BvEsjm{an9-}kDzdv*sk|NQpz+3BiRch##`uU@@+C1>b4bIlc4eyaZj zjkc}o6FA?G&xBG#A!~;xHM#O>DL$!bj$6bf@Dh78jEuOOY|(M_#yi++6dZAM=JE+~ zdK2h}(lDEHPMp^E5lG$Qc#l(3JUcSk6jgz8PGAHona~B~h48%obgE*fl(?ZVtw|+J zRu936M%jc7P`x&G8@pyAbJDB%!TkS7_W35ocY6oNihj5pnZs>?>4olcM4bCIsEcPB1bO1HHhmWbvFx>~RK2^-x!YJ`X3|cKEkm~mkq=gZpDdkTvT4xE(q`9&@#u~}qC|-G5Ot*;T z2AAW!8?i!cHEF-utYlOyPpr-Wv02V^hpEwu(0N=;baXNf3!Ikn+To5N-`Z;^Y46c8 z|8ahBe#|f~XPo>Il{4!MoVB=3C>;7Pt=$mbvGD?iO^1AL2bhjmlHDGOQ4!8X@K@KA6FlZUAMA5xl9}!Ub`Mf zgmt$?Jh@Oc0oVQgmYKu_KoD8p&Fp(;K)003BCf21QTM$cz)bh&5NSQl&N4{c#z<8v zMO9Q_NQ8?jGA_goSX{k=b&+crVlU04i=C|RR)Hw3I?LpX$lQ|GD0Q}wn}N&i%D9^M zsTj4{oeompro0`^5}!qUE%IVj9M8}YcO)^2oS@PmUX0kFO3um0t7oIcopFfNq}qg= zqm;oeW@y4~x3zd59yXAlq$>9w!>CHWpTM_FuTvK5ab3xHiUO-^(6qR>tB7RnxZ}+R zPvimY6nok;g(<&NZD!Ti{Vi`d6IwdMs4jC%7&b^%&qHkT?{4zaHUyTF&J2!&BFVkK zizal{XW=9V6un&t+2kOtz~^85PIdKMM5#Lidp(o~?`DiSQtNS9#@Fb3)qplNMmZ|_ z>c%Zz8EtW+Mt<%SG;-~mu*>3ZnXC`nqHTwYr5qwtEly`u{GdGt8DmZj+XH=jxjVwc zC}Vz^!}gBYeG%o?KPhc1TRpbe>Tztg2a^_Dr;eSKkjo_cE=gOPF-h*HSVo*k%GE)i z4eY03YQFrg0d=80LdHLUrfYR~in`9Ut1ke@j^(OytUb7I7dFM*J<*Lqd@5%DQAt{g zpT$zV7k0lxsDz}nh%ak;IRT77g+@97F#+{XdN;GouP05p&czViET%fn3QctsrtN6f zK)rJ*wSXMUf~r?|I>YU~q*jvWcqK`xl|=4U^%%!~N54(|vN8VOvZlN)Jz*7@@Wt80 zPlB!ccx-6Mv?3%i9uh*mzk>anFR)BD=$dr-kS2q>CgXU>oHE>r)dR7f2*{fr5>rUs z6m$kO-J$(rR)(0)8aUz!E{}5LZn;%-AI}=B`__w%uynny<7eczEvBot5w+ z-`rNi`tr6$cp$HkGtT;~j4SpnBj|fA>$D!4Ws(t~o6YEk)&|cwSF&d0-RI!k{bc%X zadFCSSz<7=?z1Bx}BtK5H*7Tuz&af1lNrbd>vuz za=6CVoU!m&-L5#_f#&mE;bKnYO;dGm@Hr=iyD40}={*56r1yBW)6m}&!u108*skOD zofv7KL@D-U9L~YPrWsj#`%obh8}B3ny;`--SKq4M##II2zF~)Us}9us;d(?b7Toy&md_RCy8Ho*^0c86e+I?pTZzCswqH8J7&6HiU6k`}WA0pWgKb>4jLrAbKH#QV zdLMvHAi4OB%`Eg9-WFJ94GwRoq})kWfopXj98BvXfv4+0IQUQj5|A_DnID{A$Q!1j z%dif(Wv<7^E-tdU!|m?3C5`1RVCl|T0a_K@eMO#O8AMi%8z>JVq{HKc0%oligJ~Vk zGV3I}kG3jFv$h_4TeGD^q&H85Vbs(VxiaJ`KczB05E(m?ygQYY4DfnRSZsN-_{RN( zy3;)g1h{;OxgIH;;v$D@?Q}NHIFs1Bx>BVbO_p~MIKwwmCEr}XK7y**Xep&<%<93w z$1@|e0Kw)sYU_sHb)mBs3Y=(;^y)dnj(KWIRo@4)|J4??fxkdRQ2i|^-XH5g?+gaL z7l8JNY^?f1db5Y-eN6Y?;bMS=$sJ2S{Vs7mY)>!Y9>Q`B4nKiu_Dt|Qj`08bojb!_j4)2DI79J9&OaJF=5#P9kn6lyjj_oZ_89WvFtfEker9r>cEU zG#{8L{;|qu3+1zxHlSvE$C!x`m^zQ+Yrzt(Pv~Cc(D4%o@~8uE8fA5Ym$#K*z|Eta znN0DXiMih9F)cKLou#)Xoo8TMiv}2(}!mXqfG3 zPDFX1ug}s_>(PV2V2N&p{vx(6g=sW$iRu}`@GGpjz%hdR8b`<4`eH+jh+OhUreB|~ zmuLPk#&XF|i(GO}BYEb)blv||x^o+rckX|YuKT0X-L1Hh&js|w@*kU}>{*+ZYdL%$ zFX4y^!Dlq#`HWhvKdS-kAkx19Q|@q+?J3*FYkIvd_R^$@&%o<*L_h5mlu*;wDU%!-IWCC`PF=jQgJMD|*oK)}ZUQ?@4D&8CXelhvVoA|QQI7iiYb z0c~E?dk$9vRh)Gck@Wr!sm5QT)o@t=iy9y{Uu2dV1h!ipQqo7k1zhd&fwOh*+c^J&v=OP>) z$FGc)e!;28d9nIa5%?p_qt*j-cN3buhu^oe<}1#YC4+JCGTnZ)uw5MsBzRv4`CZFx z78EP+qQj-L}e$?E5E zCe2d2F?z)#H%O4%D(*J8$B7#oWp|{w#}6!fm5{EMtug;f^xBa!&02$c$sE3k=kNvf zbHA6BgVtXlb9nbgbAMpE?vF}GL;iU^eLt_}^Mx94q0DFLVq7Rh=tVm8A{G5&4Y*hV zF3|vX++nW2l)ml}SX96~bYUJWLT>}ELVHZ%YA#cGT(0xDTmi1ofGZT>N)5PD0j|=3 zt71y_Ya35ef85M`1gu+mi*XjaJ+lmQ?wJ$^tRHU|kxjh{y_&27%EbX$ZD6ylvTHP! zKNA7S7%*-?swM%a!!9AYBgLn*V-(`OU%PjMnuR&=Gq z7{5U1$|2I&N=7yM$jE-;5&G_pwzUe8;Eqt^bS#*Z(FqN8kAh5NEXc~zkTpGy{5_}i z9Zir^mT1|WH!?`o?zJa^9M|J|r#CSKoEF66{gBMK_6}=eIb-%6gYuR!LBBd+_0_cZ z*bpI)c?;jTRp+I6tNn|tQ@40_@Yc&3?W`_0S%4TYc$$3#pOZ}MrRaFai5La8Hq34mj7LnIKshd|Ijm&^+f9|TspkcKuACiR-U8VYjy?5>CyV>y zjOC^9U3k5|?pVLRUc-yrH9RjwUw|Ppc(CWlR`2Sdur<L9MG}7lAdFGQW;Sf$5e4R@!AI)}KovoRR^YwnzG~7T|^@Rv0 z<4hUIPgFVb~? zY&zR`SmQ|bc+8FKf%E=b)T`C6p}THk|K9`u&FmkxoAz&Je<%5i#pb;Sp?&2t0g)qVQWnR;E z12#@G6bYJ&;ooW>2r_Utgc^-A zX3I1DKU1A)Nqt-^&x*wcwx5=Z7LuyQn1iBpd_~N3XOn;0L(y{mra9ExK|CqjpRR#v zo0_((6V;xOO6usSnZNiWqwg6+FAda9-Xrdf<|Tuu{(MImJ#>3%cH7qKky)r}^p3Zb ze}(wlE#bRvQvBD=>bqHezo@>qsPC=n`=!YKfEFg$1EV#k_d1NSWx4x-81B#gauBm* zJhgaXrP|-aOvHE5hJ_}x+{7F3x3!Z9QEO=y<-s}zoQKB$a~1vzuAMt4Tx#MM5-ypn zTqFBQEH&}DmP!Chfk~&d%akHoPR7jgjuFOeuh0|5*e4oe@6e;)2f4i-hgq`&IBa>} zx3{I)p~tOt`%nkwbM(CfIxyU}Z_kO$qq;5fm!nj2j-&KcGUbdTdMd{|!E|}AZo1T% zT+}c?-U%kl?XQzv^lh?pzO8O^C}$u$8N~%sN7E=9hi}lbJqx;6Twh6E*lPNJq&oXu zyAzFPiw?XWidI)zwtymdFEb<1p!O$htM*cT??lkOXtjF=R9l_h%r%Nf>Ux)qqt4Uy zHgN|P_M;T-6@;`HAzRXTD2K7trd4uV2&=jfXG*QzPpjrnBWkb!TaaJX(X))uGw)%$ zakGN+n-xZ}rg0(0xIo3vS@t*mv2*6psB-;KfC zjqIKMOLchfSDC<{gucEn7Rs}~9t(un_lM4JL?r+Vh2>m?Pr_a7@OF8re2!#laF`SB zk6|mD&k|ZM+CVMu{TjM5U8b>t%dW08^bBlVP^A(K{L2B4WA%vn0R6ljfGS_K6s=N!WZ9++~ik zb+$mYC0^*Vlc6zJbYJ?g)XZe7fi;eOtRt;eVS#0160H(K5)%&LAp*lQ^M_&Lh^ z?&x`mdlYXMTD$q20wa)>+;hoPr{#1UKKRJwNtG`jnIt7qcPb^xI`d9tNVMSc_2P@3 znw)R0MoF9fvzCu*+P*;JVGY>l|7G{+K7w^FAtnPldaKNOG1+>IWaL<8K>yiz?=qTqVGm>V zh>y*?z14J=P}rc7T3wGKwRYB*gmQMTFXxm!K2aO`gPaR;YB{m=V;SM%)>u1~JE7eu z>CEaW-~?9l_7_tL!N)qvHur8+_C1WpT*he>t2WURj2=rEom2>h!E!b>nKDFgF@Cpp zy=~e&150eP_5>REd$C8{mCcs;7w&;W*u#UGge{OaR(#nTLld_$#P(mJ=mIM*EM&_I zq|oF>uL^aa^2C(4#+0W&e@`)!oKaqc!IAuwI{Gtp>geFTTD$HpWK>1gBBR6%JlfNg za8HNNw*BOu#%g|uQtIdhc^28iOnG76=Dx`XbtwFD%cjga^5T)VA6U#{NG7U`Xz9FJ@9(NVzqF!9m&8hm z;$&8el}uhyHPz>tbB%Gw=`;7a#xCcuNG0g&uc5C!)z_1yuUAW7mj?Is#=YwMdh(#Y zULExHqcLrl6Z**aaeqBJxW684-1_#knB6b+s|rca1vRnfMr#5|OVz0_S=xwqOvEPZ zC0Y(a%*DY03J#dwckkYc!#D8jLi8b`*ei+Ph0^gqg9tZAsAuxiDd zsuicq1r_3a1M{q+6ULp>SJ4lXl=)$js_xwO4G0l*mU8gs)z>kWYt&eF$XK2#W7!#w zrts>oN=KXYjKAp6b}Vn^qUxyv(%V$)s0E_;4$gjyM9c%2F=~Maa7}9m*b9OzAW}H5Z(tI0fHmEeyBV~u=0NSU) zn0Oa3C`F{ub zpR4kp5sv?Wf&Wuo{`Kwgd-he-(yk!~|IU3Q<$h)mLVUI!AwOY}YIdwr)R+7}WswaN@7||^JrUNrZaGJ|QUo}N=lunO=)Cg$ z6;*U=21WecR+Q1w`vo>Zhia_Up zMSeq+e$NZIHZcyM_t@hqq9?kzZEN)c5v$EcRjuARkgmOMdGCW*P}YBQ)Vni9Zx6#L zL+WmMA2=f1x3*Z?e3SQ~$e0p*9pxdOb9{1Sxi>gs4tl1Oq#ff1thSRNsw@vnd4!AL zsfm&Pv>9CH{LLWl8RntCZ?V~Qybxu(*E>+Z>Gy5#Tr+q=u&F%CtZm`0`?iE1Vi&y6 zFt^>mPbAsS&9>E2{S&l@l%{+tFRJp*cDw(?zUmoChT<1xDlekg10Bj+b^C8Q5!1P-|q=Hb3fWn1Ue89#yrBdy65vf<4TJS#I`T)$k@OJ`(m7uz)nQigjR%-YXbAcq6_7nn&*xSO%WCo0JV+l%hV z(qv}a{l8)sob5aZPZwn36-TUAXA+g=3ER7ck|eyF=(jRcIs8fc5mEarW?)hv<)VD6 z4*gK9TVZE8h06l48(!`p!huSw5HAdA)*&q+(015hwkSmiT0X=?7i-b;wEumK&%U_c zugF~S%Ty!xi!2S6fL9&9((E5RFyM7iO`s1;MG7nx@!mpg!JMdEFlS29^#4i#C)``>u;erftM0G2^pP-C z(_f-$r==>ZlphFEolCVzxeMqQnt@Q)w96CoN$N4EYZ5t0iJeZW$UFN7712EiHO*&C z$uIACZve&EHg;qnQWcsKPRe%2@K;Xz1Zg7 z;N8u_{_a17*Rr#Ek{|(%_URS|8Sc) zrpnv)E`l_b{ML3xV&qe zRew3FY_ek{ZHjMolya3P4;V0xlv|RVS=_sXrLI<_!U>BjoT%$NixI3ePf))hsB3xRKkJT z%yCGd*BiupD^>kHrXVvAKLh#`RZ7w}FUw|}CFjcTlZ7d_2#v(L`4h(Vw;i_4$8QSB zyL!K63H6q*hsH~l0?T)i3GqE@Er8-n+j{R(@EwI*d4F}=bIT5a&a<~ujBzL*ckiXh zPB$f{2-6!y_^OVeuWfeSQ;>c0L#AQ;6#e%i_n*{HDjrrOn^aW+DW35l}_cT$49J@Xd+c-Nw#AW$vdMiAwf>4)EfBT&-)A<7KltC1!# zuu(I6a9x@5=XTB6pCd`JNpkE82My<1JSEVa&L=BJ=aXD+M^Z|l?KM%z=mPHP1`I5s^$Yq8Q!>*I4phVnDw=z^(y~~ zYA3a!jT6iU~yH7XAUTF>&`VnK9;#15Y z?jmNA9NW9nWV=Z~ql{B=9PcUt0G((P;E3V=Qj6v>@ut)m*%RK&6JDNQdX$Nm?L7i! z(hd#9S4P<^p!1gOygRYvJNx2S+nP z1Z%luCF4|SuG`*qP_xrn?WVG_;$9OrSsfU?1Px@us~CL7Ky&=_7|4Vk$ZS4ADHr>Yo#P;cUO zz5_V#gNG9R{yElkzgP1eac`=;LWsBUX5MGuLHMpD^T|%?;#r>|0FiOUfVVOOz818j z(xPU5lm-7~KF)-NFSig;b#Sq04IrC?8!Pdyx4|V(A#Ob%@8KmCylSf4L?kvvt7bm6 zXyaz0kBh*zGGF>uKABEk+%ZhrW;a>x1f1Tdtd#d}+1T0K7a51Shiu&IWMi_9IArtE zf(LdluH+oza{lQks3b_rD|55t@ww(Sk;uxBd^&u9t|KWCsg7x8yPN^r9Y+QsOC?T8 zs{KaXn+7MpXZ4_v*CU8teTSC|38XaxrZ0v1=BRsfipD!EkIH9>)Z-yAf-AF^!}B>I zb3^k(X_^dGL|Bo*n`riA2%OQ=Q&7WU)Nlr&hQp}gXnl{XW9<)Wx_3rw#mlk4uJN(- zeU^C?zEAa6-p5(~4TMCz11L#A+b-T#*|3$T;ZYMaX}RBZ7?&_s%=Wb;3*Nqv+GH&M zm-AKnKsn$?kl(+^bHe+KenwIQKASYu`{xHxeU4$iJW?MsQXey7$)R1&RNNf1#~fgL zMpE8ZJb8gmLNo4Lm~k&gW*p|sm#M7h0-liw>LXx!sP7&HuT#A<3;fxXRil_IFHMQ< z(pO@JiG{H?-!kHgcf>4m%42C3IW!eEs=&N+rFR3gG{QNe5_LV7PY657gc9tel1FXq zZ%GLvB#C1o?qtCGI+Ki*mx=vT(0!cUKacUFdh9_UjL<&J#APjKqpJ8Ysd#f7w$ooW zBBC!{R3b{6Z6~=o7`OX0%^Piuo+0Ie=50^kU#N1ilSR2h2@$DGtjn7?J-Fs~Xssf` zxE~fUMT?K3?+YQXS@38xR))-OPnOvYPX;|6RNVeV6%V9$-;C(lv)qj9J;7{of8^*r zV4Q8BzR2r!^)7yT{w3aDZNjo-wUjf;e-`$ zfj7J)X9ID(t7E)8c>hD4IyAEX(T{<2y;I2PT@Pe#c6qV``3vu0nut)_?By*`F;@oZ zwp;3+3fPjWH0R@j!3mhh0|u9Gw@ZE?S^t^C%1%FbSlQ`0B@}pB3k6rW`(kP}LVULLePndG*olic6g#j5AkU9_n866-`6hi}*MIZ(DP`7o9)Q)6}-)u*5J3RE3b!9Ztz z+9)lFP$DPBi$H~GO}0OZ$A@7T##qT{5y!Lrb`DYXQ(_Nz<`zP?1l4`5Nk0r z*ud^FGHH(&v^-IvWzJMc#|{Dv(SRWeFjNDED!?!e7^VPu4PXb6NPc1dJ(0_>r{LXg z>b<14x%V3A`KK}V)jN0%DtdQ9i08O>nIiZ*ol@4lNf(T%ww0bzI@C+6U%^SB>D`T` z=^kh)oRL&|al;k8u=tJBv{cCU?qz|Y!jDlpPTW0{RsSsD(W7P{C(AuEDfUm}&<8Spg>p?7kJo!&Wfeda z<0TQI=y-jI@^zC};rmVXo(!$RS42z#9ES-t#&l1>m-eD=jU45y zB_ZB7xGWyh-}4iKIU+nX0ch)m0V2;IW4x1Oqg}@Z8C%{rd7Tm-eT?DG)%)0Ujggx| zdt7+(=ym3aA3#aox9C?5fcI?-=Ywccd8{(6{~0hBgb|3G^uA-NcMjEl_ND&3*w@d6 zr=F(wUBvnxXERx4bFQ+%?>%I~QVi|I(ZYP3@rL_f<@j`i9EJblc8xVk`x<#^*Kx*< z8^w)w{gJ-EW?A_O2dejyi5VP4ebqLldzfD(Acs^5q0;Lt|21-Z4?`f(HOzl=Kxn!p zW3^2QUcGC!)T4K4D|ld!aVKY2@5w@nYw}<@a*1yr$RL|>*6wWA|SIdQ;OM2#^Fa5~IXDdh;lO21rTOb+aQ^%+MzC+fJv zh)$S&3-y8i;e4Qf9}e`t&jBa~suv{nxd(Jq z-Z1!`Pe$I1;~#nu4*4E4rQ^m~j-9l7S{HHed5;5$S{D(~;T5NA3r)poLnsb+DF>G< zN4|UeODLNmel#js}kOQwJNXON;%s zgYljVVD5H0EwNFSYo_>M86nc#^dw zYQ89Q@LhxK3hC zP_ZTiu_kb=2@>l@i8WuvnjgfP&#~r9tc^*&q=QCQhEhj}(`y1s!X$h?t=eG2CaK)n zNEFN(dcvKRX8jUSf&~9|m#n_g6cSuCW2m|zP}G+LfbZq$R^J$kIig|AMAX+BO-FUI zrF64~5%8MRA}g}_{omj4Ip!7|74mQQE@lmbGbHZ)jJ&l=pxuH&6S zS=5-eZAMH)d=eXVfbRBhnI7R$0{42%Bd&n=48Dw{h_8+C>f_mPwdN@Qy0aHJn;B*;T&Kicc(NzArP;O zwT2|{z(P>xe8QccHgwGsbqO3q-Y(J*9l5=jccRIJW}Z%MdIz{8ZL%w^(vsq|p|)+U z&kSk9rwFtwOwTeCM!(xRg@nra#(i@FmQ)=Ny#e}ZT zHpVU0ay^^hul^`}p0?M=BJ%`|sULyNeCBqrqLKb@34b<#jQB?#LN1UA|2J@9+WJcm zB^TzUe>Yq}ApehW0cHHo!^njJ@>jsMoh+qW4&(R9;zp|>cPp$5JE+swLS>HD2AHL( zVg)EoS1-`Jl@y<<72Vrq4U8X7IZQN*z1xHIu&bS2heT7*B8c$P1!fK3iY@8PTD$m0 z!{^UFoZl?Rx&@i@yFq}~gn0sNKNbNcbP7u?H#PokqUp&`I*lMox)l}#A!am%@$m(8!-Rm$v zy^!i3Ca|l|V;7;iW0b05qf+haFL)O#T{TKoQO8V1V%8y)`W|BPGk5hyiZxox}_MDeenko*z_V09P|T>{w-* zHN-x}eNjg;3z9Gr_EHd5926F0t_v)cBnWzl!b9l$a{luR!4V>mNvpXY3APq~9n%7x zBAfF-grZhWO8D`KP=&LwWXzm(~p#f_W9bwWRr0_o6iR&<7!CYlC%JrEMVa|DK?L;FQi z47x_s+V~UeXd|-aW%=M)YSt_%q|EByQjk?B5XZ}CYT;DBlVuuc`F}(2{0_bIS*tSI zk_Uo!;Fnl0#i;Yq;yRI_BL0X)I{ud=Mx~9?MIuMC(CO-I*~Dd7tlr5$et)M$XeiwL z?7LiA!f0(NYt<4}oym38AqqM_NGcdKX@bTeMRRf9^ym697R5aFOVXlCZW~AUqx|y* zWEeq7>=jDP@n6InM7X_!foMzphk|4h%10E@eK)r|Fk7%$FCb+~F{qX0#;q(jYUN`8 z?JzK$wcPgEAJg`7*mg65FzwV4Rx8n1??YhhTV`ue?e=0^s&4uDp1^)$FVHaVkLn4x z?H#fdPwLTg4R`0>57)kobnHyDq52x8G48B(QYuwD@0So47FHI#UqL@mg?X=&r)8^^ z>9;2K8)h9Hab!tQ@=t;qo%_y+ABcJ^H>~;K%3dXjKN@;SP>In%VmpQdM_*bBY$l~gY=M?w)ZxKuH3lD zcKuypRnF?+?fU0?u!_GkXuCc|uUu1<97Wr?<^6ht{rNlpU;A^%nAp)^fBuH-&)?+z z`CA_^gXoj8!<&X(mRbej??OdHXSVr z@?=zWBD&77UH-SmV@EmmPsr3qb4RrJu~|Z!tf+(Mv7v z&=e#1d%%T_W^D(Q@+d^H8UMqc-~|YV7rn<|==9^FwW?^qpU@rwr+7kA9K5(bh2@Sy z=lp>c1kDoNZBhYpKhxsk~xcn|xIeb4W&;LoRN61%p2p7@I*x|G& z7w7}T7XN@e`C2ND2{VSo`yE*J@_|i6B*>Lx3j(;z{}9CzAwh~usT6JhNrH(_rtX&{ z7z5MVO=+GB(olBqVqV@RCnPt7xBr#iLyK|bYJDD(Fz$^R#y<_bIbFyI{mRZ*N3bN5 zu$(;;#u=o-1@Aq`AW?~#Ip`~QjFuhOAE@xASZLKswp@``Hpgc?OyxDjxuyJ^AaZH8 z7=TOqEipl2q*DS=`&mC%v&W zI?$XeOlcyp^kccuoPPBtu*a#wv;f@M0`U1#e{}7v9bjAG5NKM4y{oVS`4d6s+%u8c z)7qWRX9`milvV%kQFtfd(-=NEm4>EIl9z~CwXIZ0OHu?5*?hL*`z zGKQbie-{nN5RK#XpP~N?3HAm0Z&7fpB^T27U%)MM%}Tn6e7ER{bdI@YupYXqz= zfjS=}AU}*S2glw{h=4T;*T5%Knv+XN^F)0b+wa>^M^#6x>rAWqFvaTKffpF2SJFj) z#EvVnp6w{>*%eE8J-c-Y*0UYW0m6L+VhO*sE#dyaRc3Sbr+k~TwiEWUe*&WaL;y1a zz>l+9M_BHx{+sXdK=G;@wAtbc>h^Z4 z_G%tyNB~ekufM?KxUH$+cFXTRq8*Mga=f%-Wc8^m@1UzstMB`~vo@=LQMyLqe%<7T z_Riu?9SJUEXE+Bim=>;LKS=1{r;gP3w5{HmratR(*yaHKgw;UwF-Iz4i;6DXp;_BG zU`Wi`Oh!c%?oCK(rg4@j%b3)Jy;y}J-bJAod{FQ{o#gcEG?Xg+Eh%G`g!A>Fn0rU%<>2_ zw-K~%Wzv@@vQ41DU(Dq9reJ}!Q| zx;e#hV=PCG#LY(HmMALEnR$8~T&(o%EYwOz?t2Wg3!=Bx+M_NF`a99cjP(A2v+%qQ zZA5=s^hH=GkiWPBCjxa5Brd=A9MWzI_B;V(b#x@ z{!tnP7XQO|=>&y#@%IV=xy*xTF!`YPhCrK+lD2Q8XMcnX@b20iT_ ztkeG!0`r3u1d!DV^1GCV%mQSoSzuPX`hEc4r4H@{IqXpf|9%jE zCzbQALCk#>2#L_h2}Kqhe7TqYtX|1=p+q#D9CHN25k;vE!UuX1JLmr^h8i%s|MW{#5w_>1tu+N z*9EX;fYH>uO(z_5wz-$dZ(G#nnm9f5Z#)W{m%ZvYFA~Ze9iNi!t$0YhXldZ-;OMzw zWwNAa?HBG4S}2eL7bG8NuicCMi0Dhqa9|iNrCGwQ5pTDT=I!=T%-+5lzz)&yLe&$m@>@&Cbh(mEe+)Q@#?qG3E#udCbT^f0o;^Q3c`G15myle?E90KLhK5GKOfPU z?hUCr*?*k(x)${VTfa}M7~Z#$^&MaWP4`9s9)fo1X}0nO!P)YmNqgF8C)s5s%Q2WU zAYiV^f{Io8Bz`q+a2lzQ9QW{{P-RGP2E`i!u1kB`>H4B}O&Q)WZ@tMFn4yxik5aZz z;-9d6>j%{p_p0n^W1Li%l?vL|9B+z$R0DICOS{>!YG*P$mLtwADNSrn^dHDa1VK}; z37T4HT#U{%IVf9cZ9Y+wbA_rg{z^HEMEn0rki;iz|4cly(qM>>`~Mzd*}R0~Tu}R& z$Y3|e`xn;t#AP2l=wTj>%TXN?56@aw8B;e&pU|El+(a3nO@EvE$Um5;OVC45yGFSe z-i?Fp$hp}(b7;){7iA+)mn>enhzPe8ykx>>>(R52ds8ebK5Z$BSCts%n6_tFM*8BDdiO_WwigrM0h~2p9T~F* zpS(-1kFV8XUzc1rlIuOxIgh6Kw8e5C<75BVsj%KpVYFW|Yv-WDMq8DlrBo)M(IC6> zOXZB(s^lyMR*(;rIA;NibNCGBzy{(RpzD#;0fbxgIoN$XC7L4(l+*&Lpv%ar^M-GoOiOfwMBhfS$BE=~(cQvY7=+xT8`X#iUk;OT@*le_f%SI3wc**0B zKBgBAjv^^~Qb#u@nqv8ccvCt`GSxZOuC0e+t3y?bPaWb!eAB2CB~+k20^Vx!4FutN zzf0e&YQu-B4IipD^r<%VaT_+E=DVQ{%9R_h)~yW^7-`1_-3~Z{Xp%D0mJPZs8-li+ zjoK%5TSA|-W)xbv_%@QNVaJ1zf)|?AIl)h@a|U15$wUH zsx-keywzYlLhW>8Z{`H1uHJ9-y{2um2TL;UyS)VF+pS&-fvh;VE@ll+=eA^fuY-Q zBwUcq|_Eo#Ql7|t{c89o!rn#!)l9BtQv z6)09(T~qAhqIOWD{ymelemnlAWqfjT%QC$fC-d>hYOm~IJg^M|9#m1FOv#Q<%O?Ho zj35*LjxfUkcZKuD0Y_=OA_=2~aB>*dD(`6&r1CTQenQ%2lOLHPTMsHXIk3lSQsKB) zvADfCzA2x;qu7bUls5`lZh6iWOJDYks|>dO#?5zOZy&``Yc83*9c*E7LZZfN1!AL{B=^n+#Et#BjE zdx#}@54BX@!&Kf|gS_+Bz`Q?*o^|>eIc}A=04<-(|0pd$j;cFyi_yXD9@$Zj@)tI)LiHrK~LkS+xUkp=otEk9aowv zc;A!n2wZ^uPur25fbJ_R<=CcPBIGS zoTPP9>ZnatYUPq)F|p)2_18|pI%$)m^XsK=0sG#xOansZ5jL-=F51?Ub|TBG$?c8z z*wae&am=_7Bh`pVlJaQEaTrCA`}C?89aHP2Mcan^a$`Y94&rhw`M3q981bpGQan;< z#&&wL$;7m5A>p(x>ET#e(>y4ibY~EOJ=n4Wr>0Y|8&qVv&)G}v`+=YmOK+Bmw}GTA zLmmr{0>YDx=gI{q#mJD9PbVxLfM(lWZ$)$JH0{!G;?b8chlG;ntv;KVU9b`pLJ(YO z63?yh2t}Ttg71k2!^1?i94`bH!on**E0>2?e%5iZ|J$9P%Kz=1pRl4{x2`D08Sm{4 z=k+2ybAkFf_C0dNr=YJd4v;rs10h?J#dVz;Tz4c6cW+3P9Mjzg#T84(o0S$*I-TD* zzDKzVa!2zdJw}xk=Grd>v2G1qa{|}xf$NUIb!XtZD{y@|aNQQTz7m!yxcDDkE?2E1 zX-O5EO}A*VQXtqHcR#d2>WnD&s3@%*rIn-1LzMVIEd3hMo$=3I9*9Y~?nuXNXffRp zoDRS7gWUZk@4Hl-yHuQ!9A~7&IY8pvsp8zJ;*8=rqa@CJiF1dFbBBsEn&XU?I14zA zJBDFn1a@Fr>qc&+erSzp-lRfN_{;BEgG=ccrnwdsk{W7Q?pQ4G)Nn`;E8}>}qFz&X z&yej4t?4XYwBq)`s)sVp+_({H2Su8VMnxu9q~}4BY>Y2>xX*`>I7hb`)4UmP~=x8K>`bXuQ|J`8N~!SqI;E3US;C!iuUy zrbIj|rn^v}D#do>ImMKZ8r^LVZo@VZ-WnqZwn2CG40Q7uD0TZt14eQK3M;2m#dk

49oPIaV^AhOw!3f-35Zm~k?MEdlceu{be|3`JXzL#QOysi2|0keD@ik%dx?KR^4_&-A+d_ZlrFbrEc5oN;gtHS9RrN z>B`do(v{qocpG`lw(1L|?eYqgTaMIsjMP`U(y8yta-^>1|Dh|H-+c!>7SorxpcO<# z=F0Kf9K<`G*9}=hDG1-na9NTd%x8yN;X2eWF2iMU$uz}eeQ`S^Qr+q@TvnHClPL>~ z+bNOimY3nOyyTiJSz+8M5~*%|DaiT)^#)mE+^HOk`>{FEl#o@%od)R0>Y=jv$2rgM zsr_x>cRQST#T-rxa=e32QFw(O8JBO9bt}Gc{_W&-TRN&TEUr5)?jD3}t+l)J;jy&_ z-?-Psqbk55aRyopJgy|CDKumkiyWlySiJH*PM`I3Tm1G?F=^=op!jCCbAKy1kCIat z-wxupCgb5zZ5aQ!l7D$Hq$2nD8MS>J#=g1(CG9=l4Bz`1mVs(gbw>*}^z3RJYLe60 zQ%y(Q*@(L};%mCE2~Fa;I5wtwSHjzD>nlpJvs%mB22u zSf6C8>7J4nRdjsU9t=(FCd;fLcJ*c0r-L4LNkJ^uOs>8Vz@=Wev#=fJFbAjQld(+4 z_D)FasCTO(4uLvzi}I|6hxP`mgdfGHExo9;E*h7DJqh+y@L1D5EzNrl_sldKyFg>i zHfb7==wyvVCo8}y8gPmNoT|R7%+S_b*uR|Zz|ICkYt64~1+Y$8T*V%7^8Xc#tlYPw^80B1j%1FK@B5r810y7Ol`hc6nGaS8grll7(qa z$zo5ooJ~~{PBNcj3*14ucmd&-0abGfN%v5FD^+kC^0NK-9@}NIK3>M_qtnHNR>`@g zE8UCZ@`7UAF7|LgaPFN$<96sH-ltev9K3jSBwoCla>E9+eXs_wRsTK(%du;KdUGvh zxJ6%e>Sg)5zjOtzMv0KRZ-uhMgfq1ESe?wJ=q`=gIN(feZ*NPhLeR8aqshb?MIP2_ z06R7hx>M&rydp43!Iuc!i_@&5?Ou}Rr$Yg{0-(=YYjKv$@Jh;l~08> zN=^r^`ooUH8E{~kgxhsFc80NS+1KFrG}3m*kUA?BxVnfO+jek=@!J+1qx|iU!vqCX z%zGTs8JfYdB1$s7XPBY&5x7}8l{J$r9ZE)YGne{{gFK^(mCGBLAUPAgxi>e^ticmG zzlgKlj!6yLXhs^@dlpY;{1WA;Yi=Y+GFRiv<~5wVG@H_RjvHE<+ysqME7RyW-gr5D7z$l z%s;hFhtvjyY*mVi1BhjC2a{8UcQ8ZmqR_iBTC5ZynNQ33qmS2oYediS^5eCh<2tJ{ z!m6XM7KEejJ{IdjbeVkrF1RDKCgKS%D8XKZsD1D>>g|;YSiLj;eWO<708>5pIqMD zx@~#$O4FZ;3O>Z0bT%*UM^jl7%@PIeJuv85Q9o`Jbj-F>E!%d`3){|cxujYsep*Bp zQ4CAjHwuyb{S!W!GA~x5dSzY(VVvty>ljmhv-T;TC?S4;VyNX*>q82^U^m3^4Z`UZ z6{n+U=FX~&sLecaSDK*%J?6xEQWF^Zc_OU|c-ZWo6Lqs^n??7@G`i7!Jdh6qkKLHY zun@q14U1nYb`>N2(EJlA9e=kSJ1>36EN?&KU%mUEfG z=4kQ@)zQ3O;sEfD#am_*bLt}C0pL4UK-YXzT}GdgjQGR95hIV$RMX{NU!nQ}YN&ig z@l7RTY!eb>~PrHN^B;IZeu?l06q9FqK@y-@4Rw0>7P9>Jco46QQ5% zHCTdvAtJHwOzo@7t4=OBMdbyVV6!cNF(e*#%xA@X z4qT!sBzgGn2P4koeK?_0B^d94LfSC040k$;`HMpVFb>Cg_-!YO1_Mr0_g|?`Q-!7v z(BCdL(%=4GgB9XZCLqc-;s6!WewA5eXdTa7juE@nwYBi|&|FiJ?XM^sc=rUhhiMaDf!$?o3Mdi2c`F5#SnsEzPY(y$nchN6 znPxu1k|!k>p~vEdTz?@j%^Z1HvIv9B!ms6waUJqzi+;Cq8uIOtd>`bo8sYF`gQ9{# znJ*rg`D+6+*Lk;h)#u%Xyq8GcM_MZHqp%9Rtnyy^U*`>+^wknzMh1f4V`qJ_o-GqJ z)D#1k`)rv%0J7tjy#_$GGg*7lKVzj9wB!}!G7TZlT*}9Iw6n~FwH}X;v3bezc6hun zDT(f1sbm(FR8l{?8a#XV3x1d4uV7dFEx5tY74e;ujn!?g`#HRD0W_g`*mkn!^Pw;H zarQ0iW_k5!a9CF`!-8LJ_wpF4-tHxbdCM$i_tKuYZPS;SSFn4z_cFt}g8Gl$D-4Sm z?AStC$i=eB67z6~}e4Mz#`RFAlLgrpQZv zStt#Hx=akMg>}5we|U1xyD=*IxTI2$mVEN@$fhVB$>W9o{GdGa^+2pGJK{v z+Zn}K`aPOMj7p!rmnm;gihK(RE0g3~>@519J{cPY_(Daxa@POy$;_-k%_yxJY}zGT zoFZmAeSoA_#K_c(SAV1&8KKpGN9D*@hjQc(1338Xw^OnYNEpQ34zhI~-E;itbjc7 z5meV5QCB(GOv(XgN2Vz*mCDCUa@Lua!%jkMq~_al?H!g~wr!!59hOtJ9d`5M15%x^ z%#C50P=TM$WnQYv#J3~b5w`-8iSs9$IH)o`A*vy3!IoEC<+~NW=D3q|m#cGK_gHe! zYQ2Kbx{?%f9J4`{@n#J*@Qy^6x6qF8c!D>X{Bcj`WUwaec2;^}TXn zeb-zm19zni+_TIDJR2Q0vvwU*G2E+Wi=P-+zGOXu1($5@E;PtGwK+M^0^T&8l^tHr zCR~_CD8RHLp^C^Syc4lSRo_H`uU>YfBz3NT5+z{b@q_;1`FJA^MT$v<=YCfivwtqS z{$clAZ_1sm1n!0yGq``QQvGw)pz*v)Pzaxl`+OSr_iM<3ShJHb5;6IhQrXIwAatdK zt_)jJj;VeCE}ctd&*ZZAQf2QYWt&oVlE!8)8JoRiY)(es@Nf4-+dGAQ_;pXkLf>qA zs~EIOgDPRSdth_#Wf>Kmn3u{LzyQ>_!PIBPqi6-1#r2z@>NjD~{Ne{}((;;3rX|~w zQ>%a@w`GXu6l&jW%e5EU``8`%ywj1Bk!p^=iYt?OJMVN8!9wA(e8?>ujR4E5?L@h7 zl_Z~7*^5^@$YuB9%?cX*Ts|p@dM}j_r}qke!51NtQ7@jcko@_kb|IhiRzv=wYSG^% zCp$Cd|K~sdQC2W<4&$*uv1xz^j%`vnX5mdeV`r9= zZqk%jl~vp-4)B>ptBfOzg|{+XIaIKOnn}GkcqGb0Qq(n8aIdDt*kfV% zwmROY-W5FRTH#T_$Uy^r9<1i2BF5ErOv&|{mo?MqWnooqEa8msb}2u13Nd`NQA$@& zN0rW?pTNA{y~O9S=0fyhf5_@baQnt!-v65FHal47f}U@93ECL|br_lrZv%Dbl98)H znWm(gAITDvi(KTUkfn^n#+?wRuKqM9BG-p>JlhFjIv#OHH!@?DPc&JI=rk)B&7*;& zhH=nU`%I9D_e~F`2RAEv5I0^TdaxVQgZYXc%olnPw%6jPs?zdq z6(MrBQ`7|LOpvHy{wNwqf4@^SBjeP;Bc^w~vjo0mVEiaN8Xqq_Is6-}TYWcC-7kXX zb2fD5?CLt6@{W8HwpU}}j3ZyLCF?;MG!IW}QJufAvN<*5HW00NvcUOzy%xtyMZLHT zcUm%^zAQ!moy&xPLE=LGm5YRiWr{+=GKhB}Y9|zo;7q_WsQ@nY>*kPtWuo*e*}uEK zRmWB6`fNVMj+Ki*#-w+4+aK5C@_0?Dj~7{ozk1EghvyEj8NYle#=LdsIIz_lkW~aH zHk8m$tI=0x~)H*6zO zSOKu~6EiH~!9KS%+luqVO$2xQbO+vIvd&7vc!t`w#~?an+H%*gM46dR=+2tnB>M2} zzm6fvh_4duaeeDAmvWRVm=aKl=*cI>bg3JD&3wZTYhUDwpKao$aL>))T`ZGU?6|m- zW(^gGL2JD*2fVw|i%4~CE{5Y4-tV)b_xmh;zt5tc!v4QBi+T#T9usow@du_m1-6!~ zgxiHKsIEghcYxD$yRqag0AM=(#NFo;a%aLjhcX}{)|uh0@s|~j+H5SW{u~AKtSq`O!59Z3WmJTFbo$EZD1?(7 z1R=cpq{VV#4*P|U-Ql?B)2BQ<8W5D@UVz2>^O#8f`={u~H!b&{P@2Kn9kB&Q3@h%B zEjhio%~VPwx2a={+cn^J1-L^4?ofa`HQ-JKxJv`>(&J$T@0Xc13{qvJ>F$WWW1m#r ztJ2TJa;pk)cMAH}^D}&k2e@}?1`j|lfR-0OuKs)k-jVSqof;m70B*TA5WaY8$ytn~ z;yOX+@kG{NL(G=yZHXZM=|OxofR&u8j5`mNvE6<7Be_jiWqD_1M1dw!@|ujY#IP%B z`6oQy`ulBF*^+>G!#Yb^)O(-0dRtuY_%i&0SFR(5<2A2Q*RhlXcx7p(!NO5JMK`LACpSCx~&(-?| zxm&n5>hs&6J~k^=S=<;AVPu@jFxn{1M>dXo0Da1N>R^f$5BouyAunFbo)-K4eR#cv zgroWei%(GknM9`CrjJtizCIcWK?D;gZ(b}oAbGLTQ`}rU-=(*`!$8uW*A-FwqgJE5 zr+z~_&ins;xh@fdbw?ISsu^T)pS<*Vv$9i&(v(hY7_lDi}d(6o50(Y}M0OZ8!R=$-A@_L^puk2WCx{ESm zWgA~_jAP)TXj&)^0#Vy);k6i!F;vAE=7fWSQy#JE0)VfBrQ8S!pMf>eL5y$n}ytM7sbSqhc?Wmu(#yUS&T zIwYfYtj|>IUEf!zLjK6rRM(d+ENH5n>8nH2+8A>0Kt8^(+~b7lLbQ0%-DDHx?%|bi z5&tg6IOUuGu+=^u?AcyG=phd4b*LHH!td-u^uG+|;~j{n%A*|bUA`Qj^mfE?bjCK5 zah{cnH0^&iy2=G>SgSEKm0WU1 zDwQ=+VOBeQq)4EJwmI&NK*G`<{#Plk`x7Dr8$cIA zL-;pR=l4Ef>iZnFv5Pui>-#3?$D5Qa(CFoj&*t``dlR^Xo8j^LEzq+2E!M{*CaxEa z8%6oxEyek~ldye34DU@P{I+U9u9XM<$O4NEUoeb#BHYGQiivRRA~9+dqnzg54Z9Qm{2;$0 zm4{(x$$3l(s41-U0z@!o3v@CXUe72OH17dKZh9 z!nHZ!pREg;iL0#2AJhy7ApD|l$J)GI)HefmzQMbSg@uLYWce^`+2s<%4M_Vi>^Y_L z>B6)f^67kvFC`RvrcBDG3i&i|&6`nKLJ-7jA9g=YgsAb@%lUX*KeTeYh77cVD;qySo&> zqKd*-0wymT@Axo-X_`CSynwseWmt(d{XBKD7JWURszze}*3>juKf(X_gqP1u9REPK zh}Y{9{#TP9i@Mg68~nI4+;83v{Xn#^S0OE5!I_RXpy@nrcj5k53A}G8_oB4!uy+&D z>;gRu)=CBoX}Y;ucfzS9PzPHvQ`?*3f%YsI8NwCLHo}(G@bGFE+?VFR@A16!@~8^% z(_?hL@7+@$=9RT=U7zX>U&SlmFT!MXy=PrRa7UFse2C0<#eT|soZlb*FI;k zfskeI)ih(D7dhVhKb%;@k|@Oz-o^hOx*OL|HkU{K?!c8icgN0@;tJjNz<7=Dev>{T#-ky%y$dslJ3LpO)aYs& z43B~i!W{GhE(-Y6TT23S#dpOhaSYC>?|`Qu^b_P(6=U}= zePbVaU1Wm#V+?_AkgLUzE4{ow4?9~NI3V&>BoizGfEf`61icEX`yDFxsf6#Xc2ju| zeVkB-+Mqxk<(uG614U47QGS6Xi*P~|e5Jd%MR(DD*>zD~hrMTa zz=PAY5ip3j2k zVbb$i;dumLEP8hMJ?HTIuJn5z{1!^T=Y`)mP zN3-iH8q^`tpbpv_)EABjzmySv1rbh{5q>2ioB`-G)?TxZwMlBcyM|+Jga7kb`zwsK zMmem0{LHZW$y3AXr|OwFp97QbI7WaCKO=kv!=yMDO~!K(xR-2##MLFWrD4FXI< zD8G1o#Q+NztnczTqnnH0kl5&wdpfv(Ww8DO?_$+4*0i2?frUeO2Da$nTeA;g3K$4C zt&FAD#UKf>1=*v;v)6U?+!3xLdZ@ID@$A!Q$Fon=c=nAP&md2wUy1STb2$D?9DfPN zU)aaCo9@-htm>&U`$j$!cRm+YJ$o+t`M;fuT;Q20>8aWM@nQR0JQv~X7hnW?6nbzQ zep(9B@U(-iC%B5u~n3NQW&rf@-6-_In38#+=FEK^cdLl%NKBmN}Lh-tOO z`4IlK)Wn}ba*@5%FxhZ!{L%T`__h7q2yLmCsteJUzInDSRjIagOSUDbv(j%x`}q!z zZ;0cYaQuV4E&W!#E!}#mE!~!FT8HQ8d`!nJ(f@vS^uI{#f9Tg>8-e9@2l}3vRs1BX z?3TU5+_HC=pPbMCy;ayEkGG%A<1LlPyE2cEhSHx!zJ7t@JNA6tcdxcE^H(Z9h5^6U zqb}lAQ-tFHGX;!a&YKf%X)APRVc7b@;ADNm+3VZRaLE}?yHtz)HyJzp;xMS7sWXH- zLw#pxtr5xTREgL}u+<_=ARKxa#TIhz#q}^SJ{2TJ(@o*j0-Y++=||yI zfKDsHsos+((;;!o&}pXK2@q+^K^a(G`8z5fQ`m0yu_I*O5sBQOF^{TmDc~z$xTy~JSz{vjdmZ*ILnSyXBLj8292Vv@fA>b1I;a7shaO7=!`n9RcKG0B|>< z)qbcBys_Zt!g$-{<2vps`j|#(fpFUjUUBtcPCK9a8E~ssxT{c{qZ+BN3v3GR7L@|` zq{I#(?!HD}cay(|ed};veRPPg(Rz!)jfbY*zRo+RNBP>Ij=blz*q0=0USjGBNzla6s=(Y#Ntm-cLz#V?8XTxm`=#T9ZmuKfky8VOhMU` zCk|z+gAj<%B+&1`KyV|^1jq&tq|&*8pwUc%sc9XdL&-ZE%&EurL-E zp+y$==WtCbUVyI6m(ycbwGpI>TCO1OKKPs{7-eHXWSY^r4Nb?JeCyMfo?y zmtF2d%&Vvk5PaxygZW6EaN$AUw+9Vhj`|1ZkN@G4nY`f=1=avWW-;qkn0MG7fNe_x zSJfp=xR}w}PNUG!%93LbC6>g@J+`8mvM_j_$XmjI%m7L~E zx2Ra5F86ZsOZl(AHAmo~(VdIILYa9sa{Q`3f0|r*rifb-a*SOU5r;ssW{3?@J=gU(kKNY(88vVtqg18VKPr}yj zE^rYh@3l`RozIKMDhuQ+8u!*Mt$_=TL0Xr=_ru4xVsE74 z9G;fY2AB|csyCGINu<8y4+v(E3$7zj_kK-q+k)3^I@GNn!*wO_5f(Wcj%USBU>VC8 z`Psx*!1`~QP+e&tB+{ic2!7~eeGa@@_bXI>KtRcF&}jlN7a&=H^>+p{-3fxNcj2y~ z4MVU&0MVr;DmzmAvWz?nx`Q+?+N&IPci7oPduP`Wc~4Y(JBH#BDG&_Y@Q=`5`SsbnS(Tys%co8hKVqo%+o zNBp^)IL+{C1dX+p!M?8I6P}lWcwGnqxam#l*b*@IixB(c=JG*6bTev##XL?ond(Uw zxI&5v5P-M(i~U>iG`GZ-5d;=iei$6Z*(SU{)Tuq2Jbqb`as+wa9oqu zW!10A!&F_v7%&LS2W)t|31@Iku6CD(JqKIEy(kzx;L;m|GMLifvOJXGWjQznIqA$w z7yOLQqI5N@>+o_uRHX~<2@Y2264&#P>Zh*fF;u*s@9QD1=OO*2Ah25v@~C!iqTW;G z&_KnvMU_K6Q4SHJ99*7L4#oDes3-E24tc6C%A%es!!b%Q%V*vPBA z-No%(gS8DlERU4m?o}n<8n<(;9+7z;ZIWBF2hc#g#QyeBK791Yy zC#eyX+G4nq97f;KxathdfE+SdoWU^^UU|F$!;4&jlj zZxFkQw7MJg)(|XE$EcQOu-4=tb{t7voZ8#NNNvq|=%ZRRG>FVqO@X!R_}OFBIF{Im zEb`>Ez~oFZ;JOz|;6iXX*6T3bKF`(?^)?u;VBTb}P*I--;uS#Lpgws>iH?vI*+lc1 z56!0)lg|nGybP{=>~YAE`ZnaLvECXDgS79{<8!2RNV3@-9HT*-r$&Qhr*;~r?t8bv z^G4{S{Gb+a=erK!$FXqBl2-YWDla}Y;EDW_nkwKYQjEu;gocYTm=Zq{V6xvAXXG>f zJ3_OE%TE|7tlBf$V+3!8W73Sa%g_v`!!p%0ChmWOBFajq0-MUPnNuPzBl`x2hbwrL@CS&wCD#=Qk{+=KEi1;LL~;kd1R3|!_R=YEsr{6{qu3(h@Yzft(f5I>pl z69%gdE8rGJX}hPmJq*@vQJ&NW8a>;f59$R80OFTrxA?UmpNOpDk>bT&s9XG9p5P9U z#XqPGeq(}#o>E(T^c0kj`Y10d3?vJ+a9SzX1;ZXSqp*A|;(UgQr#476d;kZN@7jwu zK*){h-ylP%XF)H0FAtd`U){=q?#5njA}zi;!v_0q z2lm9rZ=!lpk_J(dMl4CEiD(wXiD)*s_Lr_f6`%79MOZyongi}d(mhzY!+x7W*O1zB zFe>{ITkANd;RlvVJKD#R7P5cy8frvs;LP;amw92^AQda@0BMPZOFpPOW?jqO;;-2E zae?+HlhoVK}=!`?lCOGN*iR)fWn_-`8Lv%1dw{P))#bQR&F1V#& zwBCao(N*}Q6ntA(a_67|`CipPdt0Qo&X~6feqmm#w2Nq5Db&_QG-XigS5$n=m796X z3Y3bq2G|$!6&~Vdu~BV}O1k_UHDW~7VEh`(5O6wAXNgXZ-?-TMgoiWB7QsoZsw3a{} zKM+f@WW$1m%TQK+2Ipi4t#eN6_dFp!2G^xA2ED8GAyf#&ptAmh-uj5iab1V+WY-ma ztd1x$wrE5@ccx$A!Su|qVgoZ6#i+>LJ*rP6E<$5C zF)QVvibR^G7{#g;#+~>~RHqZGcwC&Y1#f~n|HsUPyEjb`ABhf5@Ly}x zH!-Evb3ayt4(`$Hf>knNt0-45o!q%T5W}G^rTroAUb@m3AXQaV*ct61Q5)#R2Kb%= zc*2F|1qbl78lBQQ)LzS`(=cY?mer}!GhvjrAc+292`{5&T-$P=4XKjlsLthdKD`x|#o z-lz@Iz_x*J9ZIWv^)!0?{~(PXPp8on5|u?uyr2&iG5d>ek$f5fWcAkJhPg0eAp3~M zj=-$GI&p^$RW(H0D)ED$tSTs;^Dzwf0=9vp)nA4N9nN@sVa6N3CZ`}xOb_*6Px|lYILLLiIZJ@TXIQ<2QYU^>h5<(kvEcwm@yD2rH z_AR45gy(5bJWsno04q5HS}?J0a+v(!@&6#r#gJwmUh#9oD^}sn{O{qFmdG$lFyA0i zE%Ge_`fnz0{cn>KPnqz37*uU6G~E=*7!TS^Y8&t9rBK%ng9+061Yr=Y!?&MpH6b)? zk!;)d&@P_}x2EblRNa^PAAKh}?0@tUvA;GY*8i{jV%78dA}+ZT`|O)Sbl6R5>F_fS zOlPVM4z^lPch)+xP^5ibz(o%Gy3ZScWbsQcp-*`UecpHgUgom#wcy=AepZ=*y%Zl& zOdE(#1@XrET(R8wVgv11%q%yPB>M^n7CNR<||oh`u86elhANsBqo z7WgUECemWBw3zE`f!|_{l@@!X#XP6H^mpWCmDukKEap3ffm?h97KXZ+8pv=qNUIl} zt#F%%7&u<*w1*&=EpRr2T>?!JaNM7n8scU!p8Tq`++nks;U+5nkM$)b3;bBe+<@wOfNq{uPRu zsCew8cp?vv6-Fn8t5D2Gg`1PY zT_|2eg@=>EQz#ao!plkFEfnRb@NrW33dKTH)NoSx2}K1e{FP!abfo*R`)IVUeF{f| zO#i|Z&On3lfY0GpKEg80l+$HKIE)~Cgb%mRV8tsnb%l$Q;VQ^ApDDnvb+$(IuthDB z^KP6>?8b?6ZpvJ|bYkMGD_z6v&okhfaROeOh&eS61(agLP<@P=4D$;td{3FwtJpq`tuw!p68h9jvX%rI^J3=1aGljA`TRh z^}NOQh|bTTU@UgJ>s((a-j#BJ`@&?3c$TBX3v+nC!`<--%5MmM|4=@A;wJoJu>sV~ zEqDOhTSxSz5#VZC1Mi;KGuYt$k?0VE!3J-a7;HyS!n-BbhC2N0cyWWNWQWMeI~-fHyKSI5lsxgAT~juHL68tZLEXM5^eCVi_sdXgQuEy zih_bLVq~S!I(*>;G8JUcT~spt-(fp>53cT=+90W()HSFVCR(t_R@=5uo;<-PY0*w| z4Y;RlQ{^x2DMRf%{VWXv!+Xj{nfPE5)Dymp!;j%*oKmP2Y@0E-9nTwVI2S_Bo!o(w@k*_I`v0IG!mC<&9&iX7}q(ZScmAhatm2#9DE9 z;TFCf8mZy42eO<0{VUeq$54FSfa#*P9ngD!f+vr=7(Rda2v-N8bAWofu!o695#TBD z9azLiZQv&Mq1=tLNszdJuvJH401o(Mzw}i!fC#Sau)kuG5W`JCF&tO&m2PABgaTp+ za{Fq&CYI=9ggF4hd*w6UKg4x>!h5jYdk1Ilo(}KZpYi^Y*oqFl*R*?gbN2oLQQo&b z<9!&e>l5BX?B3raPTm(gyr(MfrP8}8RwqBVAcCl+^6wNxRA*VZ_!SAWELZ@~X98|O zT}@4@hgn;OS=G`WAoZ73hE)g;e_BUBe)2>#Ij#g}@qj1GQ$FBvekY+H6@T`368vOa z#^*V*VPVkEd7QJ2Io9|=-z!yZSoA&U9Z&T=3=jKW2T$=l2iiKm;>M5R6}M7ot=RXv zcvgGbxA&>Ox1ZVH3o7F^JPqRp8$M9L3rX_%4ydE4)`_Fs+8oqT0Znr{S>0*$5DY@ZB^yzM@Isam zUxtG*JD*1(yy5vgY0Dx6-}QXl&}u2ZcSm#SMTS%u3SX2+rD5Qj=`^bpJTeJ6VV>_KieMm zs`k)Twg;#?d_#>N!y9Vw0f{H$0r(d5M`G`zH+zWOyOEIefa!YDH3MW&J3LP7 zHr0=OH68rEpBeCio*d5rc@3q%1!Pt_$QYFGVF(w};CLmv_+~cB*OTH5^L{;fJ?-yl zdNL}r+f+SqSpx3g^uI7qPfF7-%yT2J=)k3FFv#=CU^6rgtn+yjRO9p7)F9#Ww2J*9%i`ib} z>*Uqly~vET)!p^v3HrS~6y!qmH3v)P80OkH4s`Rt_!=Pn2Z7v{46_WqW-P)RYbL{_$8S{}q^vZ*`D;t(9 z%hQUj>yyDyVo3ubov)Nb`;4-I{U|KkG8^P#L`OJ&&>UR&`ZU=& zf|n1r?dd2NVR|Z1Ha36^LwOC$`4Y-D*h0R+a?6MV*{Kbb_Td+y*E~Y^hBKh;?ZduV zJQ%c3dcg6SZ6LeHL0(pL2H6`!=ri2AzZY4Ht#@QJxQ{Cb>DvnA&*LDc?dL<;mSZ{0 z-3Kk?Mpqay9%A0Rx=iBz$ZsdKgnt9Uo(+VawI0*cYa8S}Ar53B%EVHOPb)K;9k>(zpZU=oUSC>dAKOFV;RFBlHkv^Z6kEms|9;Y^{&$j`2Jb=1)fQ&^rp^|HnmN z%pSqVVs~QXlljDD7qdt6V|Sd|cjYanBk?AFNIi@|KDfER4`D9Wb?~voAhL;bGfsr~ zlg4BQx6GZra#=@CF-SwK7x#4}^*CwV-?7CP_Z{FAi@Ha1g)R>17fH>KUYIASIZ}|M z7D(So%a$1C!InVvNo%6<995O)bREH|4eA|J{rQl! zX*pfXNF*_%8QVd8(Ii`>GaYm>q$ARg zk~(4RH!WZpLpq~weVU*yn4>w(AxE*KJEnRB_qT`Vyt@b!)6$aUBV99tza%mg>FBnc zt{piICt8>fSu!}M>u!=vx@l!RzA=qKmrQzTU}^Er>H58vO!{e1x(Bui-4LWbGX#}r zGk7SC2jz6_$7!ktk7YmZpVO6aD$^jHosx692Jld3VVGO2!rwfk6U_vDg!DI-ZZfGt z8piY9jn~2rq!6BmTb#brAh!{izf|%Q>RM+Cx{dS_FY8Y^{fzWLTHev1JlCf~Nu-ir zQ1^R=(EW;ZHw`F_+{GCDkkZLt={9x4`?ITT_Rb;9m$dg)RBZB?Z!6Pi9{eJqylv&jgY2cNpvQWNI_4#LHVzLow6SkglWGB+fxq?2T&<1}U1Z{8}xsG&epr9|1 zQl#!{r0BtdzN63v=gTmE#4u}374$Dsup|$Lb-O>O>u_xxiAUx;By0nk)Zj#Otc&@{3N$zzD1%?#3c$eNf3#OKjG4>JcP z=H+T-*b71erxXz%WaS6Z6uva!FC6!LovU zg7gE%u$+8{^aN=oxzC_a7taHNz15%u-x{2l*N+p`f#qA1g-(yOZamOh;(_$1RZt+( zavr;n%gdxGQatLmkPHm-z(5Fd2kEMVS-WXMV%}(N2kC*9cS^u=H<^$0Vh^ALq(TQN zYduHM64Z@akeGK%J3yA|W?<=p?jTvMgOb>`2uk7&vI8yG%mCdnNoE_+Wm1W;FUOR9 zNcLjN{=t-eL=Gc$94zQ4`rDBYmLHK5NHa0^&&eI6@fgaNZwb(M z#MK4T8N3qc2U5cY(z&Pwr1Njm-bD-dA$_}o?hz1-SvwQ+qWK`v5Bk^Qe#PZ7{eDB zLwl_U>QXor&@8P#QZmMur4=AG8V8nH+AySl&@x*qLK=r*W^3ax5BG}m3(~Y~ZK59P z@5%1`f)S*nwm}aikvJ;9pd-oU1U)r>bbbNsH?|S|jUFv@TaXsEhETd`J28~cxh_EK zuI)wLuBBkvT|0;r-7CM~7VWQ{Mf!Lh=!R;aqQB%6h`ms&Lf!Ncpey18b^91C$7w&J zZX>7jbe#4RQU%g@?PrlAqzT$DND1x1-$d;JPbiPo~Su7W8tf2F#dkZbU(B4NPEA~wT zx@>@}g11}mo5ttk+GhsnRriKEliP4XH<8{QCg?U&BT09#^^9J$Z`ue>)Ce&|u7()C zm(;it=%(gk1b-`bgTLFF57NX@f_#w*CDlOMQYgp|>133k0HoKm1qC7*whO9*^s2X@ zSR}Kgc%;FS5|EmX6Vx2(qar~qk&G(^wMNPtDX0_X=+zX+(QU1Z5%QkV7V`d38-Ua> z1xTZUzQA%Z0Kxe-8vJ=ma^JCUS`qQ1rAS@&?weN3X&S~i3FGslWk`u_1kFHNu+y2A zZ5K2X=}+lz7Sbk3bC9lC1s_Iy=4jN_oW!T>xExl)nKe zkS<1Ag_c2dl@VH9|4ro;`*jWIE2wM0{iSo-ij?^@Uo(NjWC~&?^j;& zrmi79jFug`msfP;x+6%Frj%E-cWF#dA+?ZnMzkzRXOX_vsx&|q2J>Q5DxcZ4N`$#s7sB}w`V zOXA|9@`@4M@;>VBuK<5NBpt&T@+ot}UbO*QWIolqfsSs1Q1Yn(DSx9NS2sxK>f-W> zQZ1jlyFm;k2&G#hS)M?ovnxAXzvK;4}zR?P)8o$Z;7-3y@}W zT`x`}kWNg2P)5>1^!GjLth5+uD~4&M0uEAw&XJUHm36^w$Czp8g=hsj%LyGNDE&9f3xW&r1fYyhkob=*FZZXAuV(1 zHEccoqM@~x(_3h1L(3(cAcni^1>Htn)h6hT%jhpivr)I4{)2Q6%Vh<9g!CcS!zxPL zfj;Jz-|JRW>JH=erm<)FykIreAr&C4p?akGNNcGP>FgMwm#G`luSn~t2h!(A>!}x# zajYO8q^3w4XbpFmYb@rLglwcis4GU@MjDLt8iuloh9GqtE2uV7I?`quiqs4(x6p8; zJWj#-EwsKnT$7Zy0o_*G5OtkUw~a<&-WwH_b%`e1X)IERwX6%D3)4>S(EC@9D(gbX z8+0U+-YRG`TJ9bNmT%B0?r<+Q+JlgeF%F`Lo=?Id>sRgGKNPVN=J@u>f4ARF@u$#$M zdLF5WlbO@|NTWGra{35qe-xzbD!qEy&i%55=rw5eTkE?+Gq~0EomKmHX z_4jBHQow3KAxN81_ZO{=v_w)}q}L^dA>EKv59yMm21qWe1vNyvhq}M12~!5EKRS|s zXe81+qz5$GgN5^SdILSAu^yDWFHa<71bIZ8dbo4TYhHXFO*Gcj$3ms|2bAFDN}w97Ez)sL4X7VWbF%bf77xZpq8whVmDH9xK354q$u@*(lUa#eUR?jdr5O%<7bfC^pu^(c@y+IHVi~ z)PzlR@)yr0J5e(>)rp$3X-?FFl{ryMHq(g`*=(oSTd{el8;-5K4O`&h0zEYX$ih}2 zO&kW4#a1JYj04JHFCi^PT}QSKscJG%C$<4gV&p!cT(%pjR|!y8w$CZ{?(6`@?uBDd zPxczp-v*#w>@cq*LS9}5HI~ob#87sxAmov*9}wJ+#D3I|9YtLM>iV_kBzeqzdowL{zq}JGaW;4wb=m(@Zj3M>JzA~4&Ae~2= z#|%hyu;f-AZOc`qxEJlqc+svdsohG*_`$^mhy`SFtz@vuiBS zYL}6d&HL|3`YCdJt_RZmPzO91G zTZ3Qb(lurYm&XHEXnK9L_d(jDtatMzT92|{_JADKZ;6&$)@#H;np-xd*+JTr^xCz8 z+pput;pB?XV-2K<50~%w4&!om50IO;LO6bl_Ud|+^%?^5o$es(?E^_FL6#JQ+~EOo z^NS#h{m^D2$gve5ebMih1?aMOug;fzKjZ7x_H;g6cDHqpvisXX`lsG)t&w*}{l#V4 zo(EhWEqub|p-5euhQxF9L7u9GTOrM_)pTv+2*I^YkFwp_AbU3lxwk9GhJ8S;oC)#` zba|_XYnyN$z861!iKkg3CxStSg!r}5$m9q}oA0o=RV>TvgQt?O}lx&T~+ z{41#ucRAPtj-z5gW}`fV+Et~H&e_(c+~!nS3octlx8d@Yt>FHs9+dp+-l@uER%`Gj z>3* z&U}9SXnTJyGgl676G*Zq4sX+f>@NqoW5MV)exw#}S4~L=&th(WaKXejO-W81xC}0a zdb!@ctc@?3S3HNy{{%VO`NL&pyf)WngUp%;vMdMWis2yJb^^I4sf@?#Q8Jv%2e}nm zQ?lI)LSE+u>HH7Y^=~K(dpIn6)m^}4Qr*Q|1_rO-vbgRVo^oi7@|8Bi~^T7a*)EkOnbL&)D^8H$p8Kdcka-QLNS zTn_O&NPWqZ1$%h<@63l9`LZ+gUr#SM{>5{zE|6%vt!hN~>QOF#-*r@l<6Kjs?nHeR zau<8K73Q4eAqNJ6Y=APo5A@KhEkRackG|0u za-ElL{oY^lc5-*=`&@1q4)U@G$P-*TxBPJO^86pTuWs9J%RZZ1HheC`RWuiBWXfEK z@pjQ~Jj|3AA8^@vW~Vj@#Kg-pf%u|)#Pgn4_KoKg9zwH9nxv8U`aR)eLJ#b%Z=@Kw zi+?PH!y=)NL@e}33MWMi1Cw;*PHq_27B-0BvaDt#m%~uD3>~gY-eYf*q#k7xmw;hs zx#nZ6MzVr+T>ezI2Y1<78)7-q0LQWLKHOzbC^Kqg2k(z9$SeDYaF@lkS7^Q@p;IA0 z4lS~BxxY1pxneK4-|~P_B6}G0tl^EJPc;sLR8``L@i|J-??f9G?KT9H4mqT))M!=W7 zJX>r7msOaOa@mt!y%5!Y1AOA<=0E4b*^|B_@+t=az%p3eC>AlGo&6jK#W&hQo(PG(iy z=b=6Jg_P%{KnRewa6aZoaBb$wM_e|m)RJ?{PHcfQcuISHayXe^;}>op-jTdEw>AB|vvndga zs5`H@N!Syv0rl4$r(yvxcE)Rr&jK|}vn2X*R{{8L;slDVs z@y||%5gVkLALo|6h3(VJ8)R*i1zu1xA|=~qb>ZP0PwxHP5*DS@trp}|G;u3u!+66>fRH-fk`zWA0*u9lh*!huu6EYy3f$<$(Ol4`kNF z-8>BsYC$U%bFI%Cfc&5~NO9im83ZH1?G6S$GPm{zxfEsLGLVbQL6+r!ENTTZYa+-; zejxA1g6xFueNZN$Hg+PMLC)7Zz*9R3<0=a|oNQ0+{q2W&+P)tS^4<`TZC?WUeuR@v zY&t(*KR{Wy3}kD6kW0CAU$-B*Uao!pef z;EbZx%Co$s^==Doqes9+uKhX)TIQ1Wc(#p%^FnqO_>Gzk@@&Or?zgoL&f}jLKxX0b zO*{_4_@J3op48{DqN-z(i~2_itqB{?eqWUGHwJ(5$O*n-sn!|x^S0|=D46c|nTJ~)r{?g?^0N08TE0J%8_U5Y|9Vw{=Igp~|+! z(&4;3KNjbB?B;dktS*~MKO$QMT};O=EOYXW;d2dE9_COF^O{RWI$oRXlu;<|#%>F$SW z=*f#6R%?3Fz7nqe@8cPK&^mCbn*9&V`q(h4=XC@vVIj^y>^3kmGk#_P%QZZ%B0js* zlMy(_Tdd!}T?k$YiYwn4ec%qpfn6ZQ^>2$>PZ34BtuhklJq15W!3CGDbL!2`@xjzzJ6n1wG-F)(>QxB9M2+U+3{2%=$E?Avw?&8AVh$tAFw?30L)$vsYgTjT zrN`$jdh(=ygSOz(xUJ(jwk@P5fv0B(Dd09fmBLpd*N){gF+I-2pyZR$S7|b6&HQ+H zY&$ODu9u$tHYA518}dQIF@%{b!*rwyQf^OG51!h*;^KOG(uqrG8-2LTTH_Ed-{-m3 z$j>Nu`+~f;ALPqD3%T~f2#}jbK<#|m=OArJX0?J5V8qO#whhUEnd7*&L8nPvUY`rc z|CE(-*(MQsO7o`BW(LNCG<6X5@*+>?C)y&Oa&3rru$1;|`F5Z2GrPA5WFVKk9J+rP z%;#Mzmh&(pxU6n}#qXuIyhUY$e88nfI^b;QMjbe=6AI_SdpJYb5e~iY43}{BT;CSt z-Ui`3w98!j=5B5aayOUaY?%4d;kM3F#H*oSkjJIL1ic`6aD@ipT;a8IRJ+FIdiG7*=eMO1^{Tg}Pnh$V zX18><0bf7!(B5UxDrOr%+ruY>x!*2faA$mOaB~~H;ghfE zs=G!8D+(Z#OjGn%TSgWs>Z7@kEs6&6GP)+n*sJ|8VkD1{W{|=TKyTL*y084(b2^W7 zj(BuDs~O21p(Cl0e7;9=aEs?vq_PJ|HIiaQuBonMwj%#jck)(!;qUDw8u29O1R3{6 zwCD7dq+6T)s3-XWX=!j9+ab-9+^cU-b=_1?qH7>5cg=}mUL>x8U1v)5BB@H3nCeYN zDIIU6WTB#Z%$wX2M7p$}N`1(%2%vAZB{iB6UotL2=rY>pkQ&6;P>`W(4)G(skY1Osl~U)nEsxYB>x4g7D6^VmYa@~OCHvds_q?&jT;At7a?nv8 zN{Aweua+W6OD(dmk*G0kR(fh3@?|4Y?+qjKNErFLk)u4r$dA%8D7Q;$82MdNGABMi zloY|K9??vKayZo|u9Er6scqG9<+$4@hlDx=5PPX;i9-ER?i7e^P2B zY1Y`$LZV4xj3Z^yBvsKVpJ*~pkq?O>GZneASn@K`Y)&&%*3?AO&52r7^Vj+*>Zizs)2Jqn z*xQhoopecLztlyHcr`V-S|}+`(FrGiDdduqt}VHy=(W_gwh7;*=8#SC7z(KoeK)lu>6L)(jQl;}L24(mG{KRwPGoC> zBM+U)YYC!#)>%x_x)5D6J9(vbBYui%ru8886*WrhOMfolZMW5+v2g-k$arX|L!&+9}dc(UG(>#HQ$U+BvdDQs>3z)7~YOims$xByT9X zmi8Vwuju=<_sM-lf2Vy&Xri5n`6}^LYP{~|vq8g2d$d7!Ao z{E&FJvQwG)32C5cfmzd9DOzrJ(K;zwV>W1m6>T=VYm*dJnmx7oie5MSYA;E$mbWzf zX?qlU;YFcYM^*7ho0u>dQBeW<*qs@)AR7EA`D6PAq zGIJBHP|*T&Q*FAU<>uzv3Po$oEw!DBHk;dMClpnhleG^Ny>3p^swCabYiYJM|)XOnfV26 zzoG@^f!bL`%gsZy&lRmP57T~AwAnmT(DJO*qP0?#YM!Wd zQj}?)tPNJw*<7kkQq|_0D_WtXiycmyw`lf};bMpLY1_5Q zN_WY;Q>#?ED`~rwzw_MRtIFSb?r*R1cb@w@p!}WZ{tjyMrEW*kN%J9XwW9NBhqdjB zE}4&LuPeHec2xP>#{C^r{PcTu||DVOWs(;g~1s(qkz!CZG)>4LfLBh4*EhT>IazN*z!bkqEaW>WOC`MTCp z(Ld(TwMOwY5{6%DCd8l<(lxumU^;dM${6rh6sLD*}6h(b3jLuUuz@nq8B%R`UFwjaxwJb(@ zTv2_CJN-bB$>Kq8D2lUq(|d}VTYRW7)lSJ4KN_OQZ1JbDin1(0G*wZqC75SGC|3l$BpgwaisUdXzj)u($D)v`38#}(DLG@=(2nJgyysiHVb6#YR_ zb4xV6rzqLdglcJaGF#%PkD@F~0Yw1FNS9H^yNB>n+W$s2j%y#Ny=}BuU8er)~6Vv$CRZ+gzKsra!A#D&{CTVhyBFi9pSW&)L0X?bckT!%~lH@U@$TEcf zt|;GY82v|5+g3%E;k22>PWfJiG+EIhZ6wW-bh|^5Wh9-eDBo)|U99MkRz%lHS~+*T zrHCF-RAwor=Oqn_D@YqhQ(=oRe!Vih)qKl%nxklmWg;z6lmh9_{YnsCYfq)WB8lt9sq~?uH15wO!(J=xU8YfQq;tleDQhidG%!P? zGpXk$PVtf^@852jNneoEFm|_PHXSADyTIL+d33U*}b? zyXX!@`CfbI>ypOpxNX@>KTvefa)5rRh*}QPzZB(ry-ry>B;(Po4=snOx1_=yTKZuc zD2NQ}W8hR@kyrW~G)hw6-2v%u(gaCf9crf^p=~6M=~6%aD78rH*d;Rk7|oWnvs2Ub z<20|Gy&inXTePpDG?x=}Xgf!Hc^fvAgZAPH?d7zcT;R@vgW%4>8D$A~7T!T(80K`% zPUo}_V>NP4(WThLbO)V|HK(7aV?~x0NKtP3`*ee%0qK|NE=9%Z zSLq>{+geLJ&DZD&MM384^n$efd-&A!FX)GYcs@ zNb1oX=$?$>-#z7=9?2MP?O&Gu71gyDmK!^-Nw1>rl5TAVsv&7w3{Xu;H3tKQ2_n7P zZRBK9RGI!YZ7nVJJ@;`+lXSAf>zvw4dO7JBr_Pf4WS!#FSJM3s?{XR;>EQ79IZcoh z>2;M;sidy^KjSo8(y9($b1IiKw#g5imPzW@N9RAda_NQ@f|%P=|XSMjPL0wN$ZFDXZ)aO#t#3CoAiRDdfBxyexx5N zYLIb@-jEcO9mVOkqGlOC(T9>|=eOa+I@l>a<2Ln|)MIEir`n3TW&BKIB<&m8hf{M& zS=j{{cWAPtA=#rdexVtHjCuYOGJd5wQrD?)suQi8J2m4sny+Y9#_x2Xq|P}DGVUsx z)p0?_A9RGI0eu!^{7G$+#&lVlaZgcyPJb!d({X9W-*lFw5nOklu9VcV%S##mDC*AX zKZ?G{ektPtT`wt<>mJg5l6H35nDIzaVA;lue-$;$*_iQ|z9DHdw|qh`NDA$|J%g|h zCB8#5h zW!cGxlTS8~m=lGvq1mEMd=qz83uR-F#2w^N_ExqdlrVO=8vT;(2s4a%ErfJ33O< zkZo|%HDY@N8CUc;tC`sAk~Z}4Atv^zlfTB*Vu)lLIypj#WP1b|{bJ5)QS5a|p)o!r zik*;@z;)5=oTRo~7tJn9np$vHi(%I#%`5OBG3*-^gA0jee<6LVJsAFKY7_QToFgr9 zjCFRVfNEsw>_}%EOX}>%QB(G|(z&vD_Kl(o8O@kW7du_fXu%@8IND1hOI38rkjPdF zOXHTZYZKE9^?skgF9K#`LgLyUbB+s-ljWMeLrUZkc1*x}J9GlR1vX_j06jBFpIID9=f(x75M2p2=*u z(rIK0o1o~F&lI+{muOl2d5ziFE+@;W?6@KyP9I9kE<3lTma-q5bko=aC*AaFeWi@~ zJC^%VV+FWSo=gU@QS#AgCIQQkXdF;__oC!E!0Gha!o zC-{)rEJV_nY%80?>PfO?HzaddbZ21%^$jld6lRl1Amou}XBbIVDPSGjDLbgFsSVRT8r0Aq&F?)=3)Ai^0 zv)VGI?<->eC*FrFW8Qs*E+A!M=5iL)SEQw0N-3u>shhrVcIFCZlDdk8M=UE?Q>lZ# zxstV#x`SmeX0Bvrse`<)Vp)A1d0)kPOC98WH5=5|k@wYXWM4ibQkzyjOr8P{!K7D-#UZUf7cbTa>}wvqLbbT!|HY-9zJe&o7MY?P#j zT(^mhmjq7=UttR+!IQ#Q*p+^wT~AJ0lDV114FFn7mdsm|xrJRGXm2kIQ@62S20D7q z4rUl+r!AS4tcjxcQ(t9W6x}xLVPh3FB>PzTAX$QQW@qka%Lj=%S~%y3Wj|Xdb?_wg z0NW~c@FesA+aq=GB=jJAUFzUT=s|X3kRyMG*ttQD{2gMK2RZWa8v9-NBO@p5$vn*V z7YJ$;eJt}0_Wcl%_m;))WWLF24t4a7Bg~}eh~)?yKh)9YkFwICjy8Xk%^m7!^T*ht zp^i3xjIAE(X!FO}#-WZjf1Fhgb+q}n*#4o8HvbkoB6V|S@6?}Qr(}G~X1|wtf?XWy zXxAs%w?iH6`XswI)X}crX70lr?fPw2cbKDHpJEM%IokCpmNCrHu1~X$!yN7UH0v?U z(RR00DMm8%swYk*)Q4mJ=YeZ?X>TE5kd&rw=6BT zt5Rg&LK3obWx0qVbnnf+h3p}OTsyyc=6U9M&iTGxzx#)8@9*c?=b2~boS8XOs9iLY z%-urm>XBrBDAH~nN%n^#?V*um`<>H9#gOfHPP-*W-G0~Y&ufpykgZazeTYTN`cDyD z%P(kkqe#k&+PYW;>_u&7ESnaWv>sTe9RAkEVjXoT)y^6PYX`@w%i1&?v!JeMH(>p3 ze^q;M6q&o%wZ})1xqDq(IEu{O8`_dlWbWS3UN@@YrnVf$s3+~}JKxgw91UmWM#EL- z+uCzTc|#6r?r5(lf@kn|wD*y~8GM=cC6ZZ>d(QW@U$CA#mut<(Ks64wa(JR`h$T2Y z)pkeP>}usup>@C#9A0SskWTqmJ6CFlVEuG{qn&^yy1dgaz^d!=QM&jIFX!dtu4*A2t!?9xy-9m&bP+Sx|85KDAvs#}lLTaLBV?ZOgWTI-IhrO2`N zx{Fw%OGn)UB!4;9RrdxpCJ0wh|od zb$zj{92|7+Sbba^bx~Lb7lY3DbCsJ;{Z`B>ly!8|jYlbG!u+sc5UeBp__}e z#M95k)1(wH-NLbCfAG>7e^ctMGybO3S7-c9slQ1+f0KLxCi#MN>0?R05R-f%Ciy~5 z@`dYG8Rd&K$rovoZ;(m8DBVV*d_#5H#*%$(sBZsQvX4dU{u-;!@=%u%y1%hTxQy17 zVa2(`>TJiUn(Y#&bHrNcGEui4E5~7~Zr3<8@jinrG-9BTe3(?y^kx9c!)2 z3Y`$A%FJPmPB$LKD)w!c6^~+@y!W`Q*DXS-*aDP^G^Ybl7E--oKzXQ?5SK%;j$-}gvH|Z8 zUZYvZ4JNaEqt5u-<&7pi+Nguy9j@e<;6j&;x&cV1TrbKpAg!}2mF0~T?sh{~1kxwh zGFhXL4#Yf?H5I9?d4;UmNPhd?$Vx_9=~^vo3DSg4Uu7*ritI!gHtH^-{%s$@$hv}5 zGhT1lq`QN3EX>M~rF(?5XhZ|UW~^V^8W^_dULsuxYiii4dylkXL>ogkR>Jl+hHbj9 zNKM^48*+4J6IAswY}Z*L)p56%)d0)YkgIEtlpN|K%N8rtutVpB6f`1AmM7LI!%p2G zq`f2JWQ{;_bDv?@r5lGd+&$5dr-R=euH^i!mKb*HrlMG5?+jUUkUG1sHtf+YKq`&h zWZ0`qL+aQu$FR?2P8`s!nqaI=DCK`KdkhCmQXbT8$0?5(4(jru zokSWX$1drvV&ypet9yhLD90}A-ecuBT-RwPK{?B@o4VRqISzMqEszAeg)aAWy|Ho} z9_n0?8q2ZAx?xy34$pNHk)pg7y1dXOV&yoz)@2}Vkz;RlIaoOkA52E~qweq|RYx5@ z>Mmdvu>a}qV%fC#qT%HfMnoD8?a@n?DoZ(BZ?~-G{pjE$&da&!w*KW%1YV6(T5-c9ZSROJD|O*8Fx3(QSU-@k($Fd@TVaDi5#nq9F)3oA zGnoT`i_~jb)zsvk#5U&R%W=#4p%fc^p6}Gk&9Cai{qveG(Sb$tZ>D``ew2j3RvgL!LCPFoMEyu)3wRyk$COLouV-Rh`NoA>i*il_PrKEE0dIo~7{*-tsnc zFYhm(Df`_$z9MCF*>i5xmRP$)}qi zX8DJ@$xLK`FZZhXY71{qMb1K$Jn4Ek0J$@Ir>U*mgLqj+-BS zmpWaN#H3gx>{siyC1pCWeww4AN7IsSxpDOQW(t@%EtNx7#oea_QI6_&!xbqKr02z)MZkmYvh#QLe1S7(AB_u&5@jM!sGlUX14u*Q?-*-UzM{IkZr`aH zD1Qy2oO^0wW5uf`yqUcFu=R0xefWp7{2u}){`Ny(C-E)5lxDWVdsRAi5yeru@7djz zQTyKU;1}rBCJpu|&*-^p@q&wywsrk8 zUQ>SZhD?5HbMVC1RF^VsJGl*`SEpsOv2$4Uo0x{3ZD5MI1&z}`7tzL)3%OcjjzP*7pR3mJ{|L@s zZsk6X-tGWA)$$AirguvR#y%>AC<;?2oU+y*HS;!-n=Ir)O&aTu zaI#W2j-2f7GkT*uzvq^1&p)U$?>Opp=*;OV6?;!_?cawv_u|b^d}^w)3n6Q=yUI@d zKH>JPSSS~p)wObld@#qaLs5Y-F_QLc`DM3LHRvz^SDp^yV?dr8pKT|5gvY1uyV)qdEO7v> zL7`jifFO;RenSM*Of>n4vwh!j0D&fqm5eVNK<64+%D@9RF6@S^6-OMs$aavN7P&a!ZHZ0*uzTfMpmdy@~#PH|#NuCgn?0m2& zFvD=anC1l{w)opMcablUvC8Q()uSQMpd&%SNQBW zpezY;8T$BCNLUxVmQPC+o_;MyY9luS*J%6%x=kH%I?hxee--uDD`5R`Y5>!Xl^9v395yez?E|)bgd{-e28u!IC&vE3{4Pism*HEA6v6IgBtYJML z%u=k8apL8%!mYtF>LZ^Sa;Dkv7W8ny-L#nW-u9-P(WW}^_T3c^*DpkDX`1GFAQ}m7 zN=*`GaKOWjzU?05d6=7`rhC{*KetqV`smPjK9W<@1!Xun2c~)XbSw0tFg!A3?dN_; zb>UvHi<`HvlUucYsEpqtSZxfU4W57tnJwjZTt2rFE90tdtAZ>#^5-8#>kL{l>|qR( ze-N|c$wkpXm_@VUxlo^Cv4|sk4&Tq+{$a^qIv!O;T_`qfV?YZ_i?biUZ;iPhcPos+ z1ZP)|LmHz^|6WC=vjUVFdaJEadH=_wt<3%GXsw~`V%pGe%G|jKWQ+jMm-!gUtAJqN zgi%#bF-8dkbs~xO)SI*5gJ>%9YeG{m=;kFoim(8gW$%_|!h|dLPr~u!-gnT>85I2l zd*o0&+;DM67$D#3hnos}ncTP>2PmF+T z1&@C0`W85~da7<2vra$N_iPqqhM{2Yd=|kxxqn9=so!jx-Y3uE;V3~I15t*S*yhX| ztgJ!Mz24c|J$dm*K;?5l1uPu4BeV%qN{cq!O~rqAGQGWw2f$Q1h|vKxW^YnYIHHS| z^jhK9Dwq^!&>Uv@oR6XdmKbS4$?=oI45o96$It!x6en3x(M1KAdCq+)C^94|y{oiw z3L}aSt5YBr1J&0yhlEkxvY+Ne8!-4{dHw|whjMw$w3z0g9qJ_VDVLDclrc-kf7%<-OIM@bfQt^a&aEzz0on+)|!U*oZ2QQRFR zaI2VN>|2gIN8j7fDH3OB{&q{wj^{0xPWesc@#ll%AtgCmMZ}cdVk6!o&jEGRL^RaP ziLF999+cGT)CyTMACcC;Im}bhicY^n7e#DxuZFA@0x1}(_%)z0Y$}U_o08Z;C;`8( z7;&?(o_!pCiRhiDvI%!Lm zG{`N6!#8oOI$v{XsVNH^pI#kH_x8SftXb~K zaGBmlOmk>ryMTU5oK9|eNBP#SqUDuL^q+ZSGRYV;gm?q4V(^-c$r=+sS;%z4h*kZt zJKC0+Hb0D6UJk*}#GKbQ9RxCz0Uzp=o$C{AFpbu64aDlYTfUZv)$I)A#+a4aC}8V8rGY6^L$>Bm_7lO?J!ROU$agJ~4( zHk68M6}gdQBJVe(wpw$4`{l;4Yqxf}Gq^@GbABxi;PXm6Bxh*-aR0|F^WSQhGN$H^ z^NrYK79)Vm$c*nyEG?D$+@aLH#vjf z=#M|BdoiYe@%W86)Kgo0G;pY$I_&k8YcCq%{$W&EaQh@le!~J8rz-CVnl{;y~%O@^FeD+@^%KdN@TvcVmZC75<1@Imhdu zU!H7Jes&i)piN~BCeM&HeW&=#Vl@9UaQsh-O}q$g^*v%%v^=*oeZjTz~Bv^WfE_xQ#P9(c+iqEpw~Q5BPi0+bPQD*I?K~s=aTKm zgrwWhHbnzw_$m$Su*3f)uSd}25e zjP<*>>DlJ7O)2rm;trVwQ5zo(`v;j7P>EgejlIC%z}r>zZCB?Mb4syawSjc7#vK%c z>XVey;u?ChnE4ymOIBM9kd7tFSm)ymmK&cWH4>|N7a46n&VQ6829!31@te;zUZ>n@ z8TbX+D4GQ=Ms6mWm=f)o{(SoWDRb=YGP2SOWf?R0?gZ_I6o(XH5pJAi%s^LO_K;UB zW7R*%dNYN>rKc8w zzBkUMYwEhM+!mX#Ji5gPmY+eVJ-wD4FT%tflWW& zt+*=H^-u@w3)hgx+e){7RG=;Fm_+hPQ*vZ98 zjd+U6=Q3rm6>9C>)XdvtPD-<;KM%s#fU6wL%QjJ2#f(ku2=>6SdQG%gYqIs{vwkiH zzMUfIbHt{$XI!r@#NWvs)7OhluYLrVqY(!1jXoDH#j+PnuPrqwPb8;tjMmZgR6Bic zF_T~wE;nNRGXAuweO$WTW_qv`d*D3a$6tKN0JFDc7`o2B5AZci6YD0=O|lr211gcP z%6}?sJoL2M+0=XpB{w10|JlldR>iYHlEz!;X?31}klF-M;w6lvwa$?EcUw4`e|T!o%pq`E;Z1GeaC z%|})Hf3*ay<@+ckJvGfj4K(3be_L181z=c7NNZ%a+A+!VKT&Ag)neQyp2i1&tyLYl zaaKL@RvQDrZK|hf0j>pNNqp+6j`Z_MKnHzF^X$AfQN#Q-N+y2Ig4!8256Th6{k7xo zIXm)@v8JWST93l`qA;hx|LB=#VSH-XnO|Xic^G>bMBT<6!`U$jdBQ}tXY;OqGN1gL zXOLlJCLw9)Enmg=$>@adRoB;+HFGLeHfdr?`=A z={0V;`ZI^TXlUo5ddE0>PjpixfbekDf3#s_=R=}}CF@uq@$gKYy5(!PJQR&(_e1z> zNa-3MfFkxfxe7mDibdBGaa=Rys+(e3{4>|(qYJNL%!$V}#k3|TAjlH~r!_VVLE^4R?6a(Bv zx5GKnQuuvng~z%`IO*ZT(uK7$<51pMuA!(t;n{lVkm`bTQeTk_|7Zg>uU`rzSY-2F zbx7qb$TtJIw<=7moqCpnJXYCYL`8GPx{VZ)H%h^;m~EEI9VTWD;!X*&0dbGhS>rsf zGg)&h^-wb(PBNOi)>vXl@@@A+3oILoem8k(O!;Sq8T7AH@vT|2S5K2_!Y)V4ORPGg zWX@>#e`6323^UO7ecg(`v8$jz#f1Gr`crBUmg5FqMu3t*{)8NDm{aaZL9o(O!y;_| zTeBz)JgPCqSI8a^)~;k`^tWvYR^QA};OWkUn(H)NJTt0*_-bOCt%Y)pWGAMyA0!~` ztgA~p;5Js3r?z!)NcEajDfdc)*G>xeN@Lo86biWjRIlXTx`+iVFzq1SS87ZoI39@b z9T;6C)T{;2L)`nc30RpGiwNRjdMuO+P;KpGV>=r#Bnv1R&uDiQR!GE691 zLn}0TtrobvSm?;L>=;Muh`6kJPgMO}aZDDF=M;%>jwv#*Zi(Lz0)1{UX=Ge;0Q#&g zu-z0^$)D=CN-T5Ti;Cc#2pdju46l!xSYeqNTW~^Gpo(ia_dLty_b#mij5@q`SQ}WA zIZv77QG6REAeHay<0jSu=1!LNP{xKC=*k*0kmMNY*%+pBwp%Z)@aHKM79TdX<=*-iZSDM^=A1R#3rqjG-pWB-bG`Dd@rNbd<)qX} zccDeP=jN|hbhMYoA87n<)dpRNcd26Uhlj0C?}A}5-qYziaHJ3oEvfaq2?@FQ|I@2sg`i7>Sj@JPR~Pwp{(6lL`rm3#XNQT}0c7d$#b z!@g*8_tu~B^0oF2$9wjfHsFkL6H})W>6q5=Rf`;QVnV4uYAP8Csx6Fq8rs&~7R!~a zO@ig@<5iE_`&@%_}G=Q<2@++i+x1(PzoKD9}n0gM!>xT-PX^)vq(89S6g*F&q6^Q$w=aZ?zADK=OS! zl8aB6*26E4+8JNeyek1w8UZ79LtQgY_cTO794g2V{jaR9%!0{JvDqHEu2ZwsNNuA` zHUs&gTnD|+IYuaW2bL9wT4_xmi_wut3k^19Q*H-R130Rz;rKvi%s(q@1KB!$$KteO zSCU(KB?A;$XH3FN5qhN?f4!vi`v8_VKhRy0YdSe2&Dfr3MJs6_*t(0I^VEdduU8eS ziE%)XYJ!eTQXYPb=c_Cp@1`DEV;+kgWZ%2yiQ6l2nIsYaF9{k2ult{S6iV=o3Zr#U`3em@qT-S1kRQ(@cc^2n)Uwcq8_2L{K z$~KP->7IH`( z5I2Z-1XP!`@fHqi9vla!KSS4d2?N?AV|R6WT8$VK?S$-d)C`@)6xY6JhWZ#flg3&f zdf(cQp2ScVvu-xssP0WMv)nEl?Zl^eW!EngxvJa|NHSz!-RHL#9yOFC;Si0BntdJj> z3N2?h>3OR1EXqoI{XAZbD%}u7tw5X~OeAPLbr=Mh#d#fgdW}(RW1Lk+@@A!MwMQu` zzjv#>n?lPE5WM;&$R#BTS$tt zdpCOX_0Ys6fCKG_QXjtE5I~#}(1YwwfKl8!;l7KGF|K$rrvHlM@V7-qTF4EWP!uRt z=P%;cgg?N8Md%z%3sk&IB^Bq`L{r#E`j=4*KpjT_FH0tEJh79v@t z6m@R}G$Tt+01kNRgRM-5VjOuYmV!33*W1rT?K`BUE%M@M?g!`z=9Jexy^rl~ZR#+6 z+0S*_36w26tvqpizhAf34}vO?OvEYK!KJ4_XEx$aHt~+@Htk)UHMAOax)WOA&rYUm zU8)joF-%SCoO!ZbQjBcg9WKY$@W0P9T77+(>K*yj{U5(p5?1zh z@n)Kht5G02d*Gnp^Y7!ik_Z=sm2O1+N1Ap&_Aw}Jc(tUz8S-KeJ==k)UJ()9p^0R4 za<^t2FLs`qgJ8J#Wal`aOtY?hL(&D+Ia@}W3!dIQ3B_Jir|(}(t{9Ai3Vu5Ncvfd= z#Tb4Cq41N<3^3Wa$`>UIE+Z4e_TdqYwfoX`|Fgwaq~|%K1#h|?qPifFRL+daA=F#) zN&PlG{3DS92jpSM43|2tVAA~;`q=T-!hUPobj;b-!m%Ua{`ELRwafgWB}s!N|BMT~ zIxpmwsmI=h_GzF}kge-;Q9I%w#-cI@PLq^Z1OQBJg1y6nJX;)yhjyt%tkJ;3y0xP!Q1boP_@x2+v@ zfgBQV%kETnJe|!58(+EG1#4b=C);m1T=PHV`7ini>BZpjwe)&0l%JvU(cLy*pw3`2 z3*UBMD9-ef)=-N>7k%(E6Rq-ZfB0Y!I-xDm-lbm{aBS(;s!7-GwdPcOjBT{P+4dp# zsSq*R%6ORn>$IWHM;giz=#eJydeMeu~gKk|Ta*l1w z@uRhex0sHQpUWP@!&hsA2fLq{gXyIfI(wzpo~g+{j<+BR^XAJ2Zp z_XSPwIo~l@W{lE5P+PXD!_F+(x zTOzPBc(lV8IqSmyf-gA4tv=c4wDCpNJ(ZRWqSSKpqM94%&%9egu7F|New1hhnsN13 zZ2;*XA-~SJM<>s)GhMRs9tB`O48_EoVe1{p$X(_sOxzgN@ECDy-VT89@&7N`&_5xaFS8sRmk_lZR)ZWYLIYUZ_YSxZBdxx;*m-BiN!s)GspU@| zztthHDA${XF&=&E=Su$|YAJ(IkWUMzhL0U)d-$!t$wOv$O^A&|R7C#&{Mi}ou*1E& zUz+_qt}D>~7Gs*rMN(|v8H_ljmE&*y3jhIE#Y@n#3frX-0Rcuqai<+OM_WUGivx}8 zR`Lf?h}WbQLQKDwL7TE1teGi`P%udYH*0M^x7)#Hsp1Bk*kWr0PR$NBd;PiDe?Gg91{}G99rvb61!iIhrf%b2;m_qyW31rOVaKcU&WXytbYWd~@(gMxc zso(}lkyMLX?F)0vpxIzcA*`*y&{fxC(LGHF%)!o7wmv)gM* z<9bMm-QJe@feijzf0Y`-xg9OsifoLivbIx+1+IS12S-{OS7XqJ&G#w@=iM+-wsFF` z5}{vQ`;f5PTV<{u>y9VXf7^}}j{2XLAJm)mT$esZ11VpD1s+;SxuCv&!}iM2X>N(I z`e=*bFjw0+Ou5CcF4wRwqLv?l^eIJVABf4Sk&iQ*o zB=N!J-w(yWZ^Zzu=vjFZ`-Y<9OGFr;B)m>$U+DF)!g6C>(Q3<3>)YL55vF@VXj9E7 zlde!(bVv{^2|!TphMq28EPku&txLb5pVTx+Zwe_eo>3Hy1pky_^!EUfmsw(D=eUW9RD)GL=Mz3Rrp78TzaG<%f*(|h#~Z4oA0+W>thfSdxIXAV^I$}au0SgAFiVJ zI=*{!g-D2xo3cYf&t^FVScVHs9kgS``b;&rAC@LyHlC!XLE`TQgbnwB#Tpp!z8mja zq5}Vg1uBOc3?hagzsbBiir@)hf9ITT>{0)>>#`cYnC5rJW7myXL{ZsP(DB7^p`>E& z^T1A05=vBO3K-?XuiR+KvmH%Zs`!6oaBW>1X1SpQfr?D=cZJm`MBhU&={JG|DT(Bs z1oDzXOH|{(kblZ6B$R7?{vbXrQyqVuuq*JLXvN(mGZZ_JLojaZm)Sm%<8aT+uusuqRLM}15Z$=}x^d+BzN)z^p zK8*l^-$P$6Kg>r%Uw}2e?=2rI)i-Az9mqzn6a?k8_WqLLb>Z;$&G`mn9S;sRd<(sL z!N&7YAtCuVYAXBm5$l#<+=oAz2*pcuL~{7bi*|gSWE4w&Vhf+PoQzaqT_~*30x#DL zCwFX?KURe|M&;L`rT&;=9Noqj?ml+S{DYYF@xT-fM^sZBh1MOsZSQ23(a=hUCNmOB zKETq~P`j7?&sIsfGox5E5aq*;0sD!g_dI_MA{2s}d^ZN@4%ozr%N-SlZzhqd&rY>$ z`9sE-_@gB(@p32iegQ4|Ma5ZSLD^%b-@=(CWC`q2|1xTTL3G=0AMBL4DY?GxEB*Gs zqi3xxn9U@G7>(%>!N@2&Js;bzQ7rn><_`(_-18;HRj8}7FaEOG+P`~2p~Iql@t{ZK zoUTY-U`)oPadgTOdnBb`e7qOSg>ZZ`TY3_SoNk-8xDAp1mgeL5;Mj4-h$(4Vo%1Ao z#Lk#G)tk^O?j zbRI|v-x5w3C5;gSZ!b!A&Pw`3h6x<-A*;*qGs-~IHSbpxM?F#OX9-5q_3O6}CSHyU z<$K|%QG4(3C?%`V*xv8;!VVPC;oJ?lxqA@+A9gt)IqyGWTRAxY%1xl!Ym9M0vowl) z)-G4+=9~|SElW~Asitg?;T*9i$QoWDudGtqwFwrSzcYS?Z@UbMmythfs8lt4oJz6U zZ@bR792;{vaFR>Y&zwF?iejxjVM1fc?GwszoOXJ-nFB8gz2we;r^pH@q$j3+ZX{_K z{w8bBZ;SZVJQ)G+@tDPBpPkY;G1~vspLMqH1^u+c&<4k!gf(EW*Oxo1)0`^O?P#@2 z5zL9#^5qz)FW*pxbbg>_PLF&(SnX44qCfp`Gosgzbv+EV;vnBYNu>9<{J8D0EyIZ> zI+a9LegDOBS0k8Z`M%%sC9q~NZ1hnXoc+@lUhOiesNIj11L+L{s@$$FLEWt8P8E(s z+zyxZEVHyTd(WAmwc)q;6MaW#PKd%Wx+yS(u7P~!nj;p~@ABlx){j#5a_yg#xE0xE z+(6U6$d`|J@bZH+!FV`=Bm~)H7_(Qn<`^Um{)LCQ4KHx9kB|oO=~+k{9Ovc9Xv*H4 zY%kGp|5WGL2Fx;A6eui)(mggy3UjzvAmD`KywV3S%JqDB$(2a(WO%mR?F&5e6%2nc znDSveI1;Sr6_+FcM9aS?E~*%dk$_ivJOXwvHbm{KdPPF$E^vD;&9{qi0U{(`-0 zv``A}zao<=>>*=o&xQ8?MPadKf57DV)e^8H@xjlAdoAa|Pl?G71E#0XwhdjQ`S-(2 zUb`5!2i-h4zJvNgl;H^5uDUZxa&Rt!tcSQM{iHJ!k1c@zdc3@+yNqgb@BN6<{j(;o zFYNyv^{B!G^3rci|KHKi4%LzIzfpFGV0})hckur!urI#Cy519^!RjdgAO9Xi8Sx(r z{XdqF1oD3ahR^ofpWlY>B>eY5xI}{W$!#j9G)#(s@xEbqPygXKtzwukCRYg!aCt0` z+y9A_-pvRTdd)!`^}l&ABv2In2G3|#h17FA;&$XcB3d`v8LNvp25R@~ zDJg;P^O_Ia<$V)nATHfyZ&M*~H^{cHq5pY?X@CGWyE1M2fB!@_iur$n8JM%d1j|+h zg#MCqp(GsoV7IX7RT66bwRU0bDg*!RGqb>LHrWs?y;2G-A?s~^9T|JOzdG#GV0?PLF#)t6cQeF@D~9&Sw}%J$h;e zu>ZV8*GYVz@%<>f>IJUmt3%T+SCPh!%ID?pxU!d1rLF3m6eA?Ir>Irz&GPGif~hL% zesC7V%LEOuQY>R8hG2Z{_npr`l5!M1#TImNqEb$buKx62WhyTEF3bZIC8Z;p6Hy=^ z5saHN%>d!WS)XBGCPgu}OS3fh!%=^}&dE>Dp+ptZedgFi})kj5~(7Xxa z3vs=%g{K)kR%9=8unduAdN95NO0%LH`k8(+I}Ske2YRK%m&43Le!?xA4t$n+4CJN7 zc+;*>=c1f>jE;ii*Y=IJFtIxfANH< zA~YBPkz5*^wErNsi>>)kyaU%rPJ@_)XeEM<^Fo+>_UXecp(}+DkO&%j8`SVAbPZ{9lcmt{*fg1@z+S8|PZ z*tTG@HrRd53VFF%n5j=*3}Wz>8v(&zuTfvwW5$vWz%K3_qznZ}PhOA2Xpw*9E8*L# z(2FSdDCnG`(OW(cmvG&KrHZ}H++#exRCvuUsPi}8N<yb-7@jo=}S&>=ZF8a z;ypVlg4CXqw0_8UcCZAp2lbKEZwucV`*b}Xs}A+Q$lCuZ)!=v{F_nstRK+0r)PmFp zUUj66iXUVQ*c@swH4)=Fy?+;g%4f0sDg$U<(rwc`Fgl#{) zQBE?Y_?}8JG8wh0*L*QC*4TZ)()k<2xQ+6_B&#zaYOBH@!tfK+X8vQJ&9UbXDu$A2 zrF4+=xsuQddB*HLHuqP3r7lg&?4|lq%=ft)4`1kq*l8c%aC%80qRc=xMyQt5zXR~p zg48#S)8}JJVHBgD_>VbJTeFiqnmkBPdC zwo;hf)9v>rm;A{_3aocC{nQ&*W&~`e7)ni!a#6qOL1!kk5U7y%j3CR62d#`6EIWc@ zA}|)E&Bf;_BWkT7)IA19_}2hnM_3-cC=S1~deS}8aY}N;E!~#EvN%(R{0=OI9yRGt zsGBYs?vv5j4xn`c?dQ2%yH4;lFIEt>=m0chk#!&tHy-1QsYJ8pCD*)zITD^vUoB*f z)SPr)ME2Moej<<-&zYv$B3<30WHi^T+QaAXq<13mM88=Pkb1Q&+dHwK~* ziGRi)Hk9u#3#DFc8b@F8RGoECnu>x^9?Y_hu(}wEL4N~zL=(f*5J5nnxYShP!`8Gi zncQ0SzHU)5-e2*xRz1tHM}|x5xyviD9fk^L!dK(Enq8`n$+e*G8l-ohn^)1t-S@t} zGjL4e_18;@!gfmeeb!h+1a)a$Kh`a-5v0jo?2qBWV=uRt^+7)v@>;Vu493DA!d(M< zE1+-4J(UwOI@21;a&oN6P4E&nwWb9AE)kF3ucqdo(YRS_uAufmNDky1<^#FZ+vH z2AVZ|j$Fp+v*`G05c}e-6IQHiv32IU^Ahwms*&K?g^|69;I(aVeSk4xz2u6oLHPgV zmrR!0V{cuZAR$Viw4NU9h1(Zd&006W*Nj@rdcKXRSNVQ2DsmYY%OyJK-A?Qh;jCk{ z1Gyk$6{pG2&jmR_Ei^h%dQh=LD$(nH})WoVWB_|HfbKR%(wG^P`S^MJv}b)y$FR-WcaUo;1$ zFG^SN%XL3=OCD9*6JAQ#DwZv7^1(|^Lj@uVA{()8A_|o2F(WHU>oEb|sjv0n7c;X}85aA65umUzs#EK07wVEv~>8Bii!2YcHHLpOkfxm>ciPT5e@4S*l<{ z#)HbyzF$9fh7rK8N?{qlQ#x+D+U2nSDqpL8!E)n_A1~B$@x8~HrGagtp175dnnj#| z>5O-Ls~Ai4C>5NVCZa#g=%yWu5WulkMYVwUXD(mwaeSx`Y@W4xh9Ur18N^okQ6(hp z8RN_$r%@i^jmZ*MG2Q`1Pd;pDXY8#z$OjzNNm-pq@p1WCT}kmp`M^%KeB6+Y2mH!c zy5*fO1h-T%^f| zqmYZ8?;Z(`=~U(YccL*p2nyIQ=aKce?my{EY$@A(%N0CoU@=&xsp&L7w|Fzxj4f~fqox^=34CK5Kcs*A%5?xZ zV!szD88OflFZua_d01~s4`F83@%zirJguvj1L+TbHc7Iy`Vs%=$ZuDVbObEopJHWW zb>yI*Ek-nONLg&i>7nModM)YrHAREshb&~e_GF+XSAJG`K=-`;INZs2P1TRJZ!}P5 zi<>@xV^urMll`@>ndBqCmZL9@y>YB9u)7_hvUBN2!`c^{{L;_8eir8nnl_DDA*moC z(l85fVoofV8t!xiuTozTjuEjlJ zW!V>hF#+py@`sgl8;^diCF~-CY=X~){FAxSF661KGrojmEVk)1Gk50HadZb3WQFsIIM!z+v@o59G7(f7P__F}$uleN8jYN$@L>;EjgVuC(9g&~UG@?u6{VmvFca&-FC4zYHbgIjDH$%; zKA*65isAkX8T@Y>c=T>!sk2}6v3*LjEZt*j0<)6*GYr5&tOkYA7W3Zowz61Yxkl7s zJ^*f%p_c3~Z?LXitwSDeQhxMnK!)(@NjETl2)u>PO5ioDo?vB+7m>ov?i`i=%?)rHqb?IXP({yUG*QSPi9(3? z4>AsT3mk3eeVncGPx_ORTZ92rvVQL#Y1VF$Ng@>A(}tMlX-mny^%5oVGJqp4;JJwH zOaNsM@Lc#PqLqdmb&_yu#~E?@4M-}Qwf;Y`h81gceBvxn9zqXbWK`kZt${j-FV9{6$vE}DU?z#a@;qsx>3c;q=pBb8nb(}v|6rTcd zDPRT%{}xEUA(-6@Jl@9J&h7>2{;vVq-)LxKB>FhniQ&-KvOHg3r!WaXZ?35Wp+V+U zX0hs7gXBqgO54a5w!$3t>(2LDyyz7)xHETpAY@H)Q2ryNs)Ae6`HQ3F#ziNzg31a` z;*h2vlJ+P{8vcuts3SSc&Be{vn5QCRD@5s<0Fi@4uwy)LDPoGWzfoM-{JF?6Q$B_Z zb^a$72*mRalXyT^lUO%n)xbX(nW8$+oqc*;VF|b`C87{OI6?ht;fp-}!odt_(ndb1 z(;}=qGUhXF$*o;PIf{B|IgWRUVHBboMWgzVZy6^=-fUxM2Ac%fD$nfVY zBvKB74w{FW2nqpCTzl`&XEZr|t5wQ2|2H5T;%;DAFSF*YSmQld!B38ljZYtW z0g@VEb*7LxvJ=fZ(cQvMJFlWkiUVJ*(#cD%*yLdlAaqdsY}KNWIdPHpG*5s0UjKv} zTz~}#BG%Lu`mc_A0KP|0TUS6|ETG2ENL%Lt|He`{Bi4M5{*S-SktRx!x}K?^k2SvD zIRzHSfxlxC10xt0VsKd%r zGL(J-9Po#!!fY!tl(drjU%e(FGDfC#hwjYq!`^FkUSlAB8Wp2OS{kkONQ45z3D7nE zfDf9LqAU|qfi^78hRTo0KUBLG=A!_dBcxN39g!bYj`2fJikh4joZ)SivX8OYY0k{4 zOYX+YU$ENecQ=el;wJ8Zr`1)OQ)Ej!F5IPn>axgP-=oI^ITLEt6JHlgHBjD2A$|Z; zQJfb6g=_%jJ}_e(YTvZ~5AGbRC~8`hNSC&)cK!z;$>xmH{1@2ipC|tM05C2$!8hKf zC2WtkVTUuB7Moz<#{d=6+{&bD9i?kkvp2`vu*DIf@(NP0d3--U$8_-7jxuG%cf_Gw(QNf-pN0RP0LU%xH$F0~AokQs+#}Zu272D&Fv4Il&`7r)=jSlI#K=Nq) zoly7VKZna;c!w`G-jzqh&HjU?hN5wZ1wm|}_z>hqK&&r(8>O%AMIP@lMr98$C$xpG z1i1c;R9EH`gu1FUzw>FtxFVZagT`3?*kED42A0<3rZ(Mj@n^+%Xj&zxf#*cs@oIlVa6@zU9?deXV5h8>Wx z0 zRr_dJpN%X3l2=~TDFj(-4vT1-W;Y*;u{A9ShZJ(BJps@c^%$%_+tHN&!==u=E`YUk zdh||MuQ+&!9|Ka);q%0VY}W1{lr0`0{BqFe`A{q?Oz}?&kCNA)nFlWVvPLE#%B7kU z5L7V4vGr9t4U`0?So&mB$7)8IJw&1Oa|sL@ou|v=-gt{qm?)peDFvyiSj>X&1dN=fd+yO@_X>q`4a#gsgTwpS4UvjUWQd?1lhVBK8xFSZMl#|*E*;OI$8*5F_?H8pcHCV=) zbrh20H0{VCM)j0J@HZFr5T9lF;FRkWxHC3u9aa zh$StuIQP~V04(>LcI2L(09VHB6>?8Dfau@lGW^SJ(!wGkk!*(GXZI;Nm*`vF#I-;9 zyf*FfDz}5mc+oA)jWNM>NQnsTqmW8*j8Rd@?<+X`pNSb1!nTwbHSaj zp_orU1q;P1O8-aGSHLy({qI|dih>A;w1RYrbPN=vyBn00mW}~aR8YDbM#m`W1`+9) zr0Qq3P+e0dpQ7aP^B09Cw0PG-6Jxwmj#=;Sp!@la9J8B$sIHRuqtU$* zN2izdZM!a0cG5nu=DfcFVL%fQ4EM9vI{|eD2XA8@)p_^{huvF~4ZNb~2sTKS)G)au~nsYj9*A3;`1 z?^L(HSo1EROyI zdQ+ExjuF|_jfPw3I4-Xw2%W=kn2rqW#GnFWXOy{WH&<$ZvkaI^DGqrU+s($b&=xT9+Z1@`yjrlhQ>gCC{IWcPAr*OhN>{_U3 z{e^~aQ_62czGauiQK_d~E^AIa z^mP3b9K!H@G)vmr0?;EwezN4?5x8dn@&=JuO);(3?Lqpf;dB)!}}k; z6Y{MRyi%Lrcm$^^+pO|=eD8XsCOKkW&@3Kt!!c0(PUg3Yx~Mzd zG@l0aXB5O$syb^6mFN6^h2%a@&n&`HzB`Z;ZR2<2|JgRUfeqOlnJfoGAMhUFODTjA2TxY;Oi)!?AwDfN~3Lcvm^6~ zX2GbJz)K>~)7^pq@%ppg*UsTV*dsbQVPw{kFmK(7SE59jfT|ETLYp$6^~~&ILE^m4 z%OYTr7@X~zbt33xfFyck6Z_BpOK`ti2{M758B;((9GHq&SWKf(yd8)3a5I|_1Q=fU z7a5(X$H7;u5HM*tNQ@9;+(|qqB8V#(mZP*>K|Jrm%h)`LNy55}c)dC!Tvbn2{hr!p zZH(Gkn)T*ldr_wr0JrNXaCV=4rxm)0%`IGLI8|oWGIpIpC<*(e>IeA{NR@ylh7X9k zP)g!~EL#mGZq9L3&YcXkZH;@mo2EUVopZqEw#y9y9x4OKmPSKmOS(6{j^#E*IfvBy zBQNv?C*^T86p8xe?T)=)=1c`qHgwVB86H)Nn#? zEoHEHp7R|m;<|qn;628tim!I~%a(hJg5c!mxy9@1JC9+lZUXVy0E_4u%pF1K-yhzE#0`ahmBSUHw$&qnQ?mP@k>a2y*z{%g=b31oR3WgU&Qby^W} zXIq&)I!4ZMUkUBFTB4IDVfkVY6aqb~LCJK&>@9gZS!RpRiB)~XG6^qKNT&odajdWP ztW*oXRAjD+ic!x^?Wq46Z7R2^)P$>dj$j>`n!StLXKqErRGnRLm4nv$-svM(tE|X!9~bAX3daJ^d77F> z6yxjCI1CX2Aw2a9RNsc~<{gB~PLUyPEH*^dIuYdYNnWu>%{FeiU34~oGM+Ay(~ zCEo|JWOmk{kS%g0&JtU|J4?5ciN5od6!f1V=#4LC1W08~C)$KMM>MY_6fL zPcl0~#Bew3MnJaGT8cr%=1mh_Ujs#T++|%(~yoAsdfGCTPI7YKbY^JlY^ma^OjP6iaKG9 zf0NJJU#6*N^meZ7)9<3S^#fDp$hXiAOF-aaHNt%_ys z@k8V3ZzJ~;B`NM!x{jnX^be)OncWZ#3w~czK@nD7OF49WxVzT(vC~<(fCB@>X{R&a zs8@h|=ZYNAhTawTSer4#{~TF+pnk^7jxx4yDVhv|`E9}xmK5jcH2dXhmOW%QojLr% z7h&CZ7X+~(v^Aut@8G!&j~cQ%(;!}Gfp=`8ndAuEj5%OhyYSrYR8t?U(VN>5B-c)29Z%U=1w2bkZAB*jyu2wC6uE7dGi}LvYTST{o{+~>dpoB+Dfdeh zWj>lqfi2;}RpL$<8WK~rQggd~anU*<%cf_EaXhI@?CTo=A$9s&jjZp@SJIj=dwFg- z=x>%Z%CGx;Hx?wZ=b~)Y`W|f!aLGF}R&ecm#CsU2f|^83e1}>?CJ>{g5p@4}hfW(h z3YTU!C;K?a+U2{=kXJf2Q-DK2O(+-lv^9HjTFfN`HqdF$x9_@Mq-SA(@2)vgpSbR7wxRb@c5Unn&em4o%&lc9~+ zHaPPhuA&CQ+4Hbba3(ZgX||&$SE3E;6Nh15hO;$5u#<)6U6QnwcxTbN+k>({0`fUQ zc(_J4`?}Ri$D};I>l0v@@l0lldIesJ1usd6IjdfPcGSS*v-Mq$fY%LwyY99|Hu2)5==62S z;i$;C=x*I{niZb3?Q-v_5W{oLAWjQOQamg{oM7Z=h+^QyQMn;r0-F<>tAHaEdv24i znCQz4wRX=iP7xgpyqO{3JeM33tAD0{wUv90Oyd!8xcODZxxh}091iF1iSkP*R4Qx3 zG(8Yo7)h#}je_#T7m6V(EJ z#$m+$<8!dLr3;Y~>=+1Dl+vpC1OsW|Vp|W&y{rUFx&-m$O%O!W(!uxLPV*_=iT1sm z4!E=-b}&8QwlSEbs5C%^)Bz|%I>Xs|{s8M^xaAlWun#nFqA2&QLQe~c63^pHM}zEP z9t`6+qxH5QHaV~ZHiQLeZyO29`_aKaY~BO(#ag+E`l@yWt~U`@PAsG;446xEbuz@B z{!!cUZc4_^5NBCbS#>Ez>ux!qm9N1qMb+ z0$sBlyNmpn;Z=e2E~I*AS+*&TgR)lWDk~6%{CB-vd60X}QVk?CqLZ!#tJG?Uz137T zXUkh-9TbwlM--$pM7}%u7V2u=#|yvDTf;$HeW3kY6qASl6vA6_?gj}ee2G!&JZUBt z{{boIqGzbAF+sUOhXMCz-yVRBoIJ82$7VVy-H_muHXTEV^z>r%iQ8mSAm+jt7R1vp zH2<;5s}VVi4LYiMU|BTj0RQceJ-IN~#2e`^o}&jc_xKwI^c$VBJWoymbIzZYjcqg}ctA+&BEK8(T>g1jGfKA+vZAoJ+{cdDg_C0(%)9kxh&0OG9uxWS#yvbOz!2}7 zh{M_O3^=Xquxxv;GZM1)h+qSvn%o3lvOo`nEx}2f;2HD5lpWoh5k6T6GKqNY;wrMrw*aXCRXTp*&s&pc=Hxpd%gN)ebp*^jvsQrf^MQCfZ#Z zpW(Wx?blJhqP#4jWjJj-vGVrvs!#dqJaEiuE=iKL&Q;?*ZdPG2Ap1kJ* z@3+BYy4`3TDBn5N1)N$Thg_x}JIKI2E*q-ADQytPFA5p3=1%o8bmgU08KhYW-V|!q zdUR0?nq3c!I~tfk_pit0mC8NYA5_zB7wkT7zP71tnAr?VI%0rTq#GT))ih!oNm76; zKzA%{_GUU`jz|MGy2_TON^2uvk<1xD~ti zqtFDvDCBT|+@;o%FIIBY;jsDV#A9V?My7|QH`kVKvLlGFL#C!$8$I}7k(jCtRd5%u>&R=I@sSL~aP-2IjbDuUG^Cagw$68E|*#8bo0 zdS zh}@2=OX@HDL0hM1OBq}2no=9h)OYlNJgVmBnUT>`zj}G>jbGMb2fb$lm2(n3zs8dG zP1p73z_ncU)P8jP`hRM4QfoZ3dyd36e6J70aSdoo2=sJC_YT==(8fM>H;V}nucvGf zip}kigno?e_mu0l!QUOwV5C?Lc&N+~YbwF~E8!~}!+S$A z<$|XD9{Y-MqTqJaW3mr#*0`=po%vXEJ6LqJ;=1*NQ|DjCR9%^eGhb>rg0(n^`YunC zh-o77^R;6%qzQmY!j227MWCxkil6_;j#dn}Rpk=AXR?mu$U^ zF%$<%bA2K?Udlk4^2v#cQSw1%9}vF zx7~K2=MV`h>L_YlSkk=E2l^=EBZk_gjHtOln#|{Rfsc~A3y(c?{65vumi;*oKTo0A z6x1aY4$D^WN3}%#wRo8WeqrtQ;;Z$$V_J#X@^%4XdvaR36-ippExDE_K4Mn456CP@ z1k_D$h9=cAXQ#i6C82*wpz*65k}$G!%{aaktufMcJvKIDy zQMjzjkho-;b2DaKa~IH0sl8n`Uu4uMUK$7hb$N(<+m5)IbRCyX~FvjpY(Q{&_$Fu;*K= zBeCVjO`?eV(&&jX8D!|Q1PJEp}i72wt5G>h@9 zo1T5>l1q|r=&fJ5V`KR|NWW^-Q4bB>mS0M*U#L%5M;bGgV}^aO)hltMeqiaSIP|bC zC~C}AJ!t%A{XJ|gN5v@G0bX4?780z|?CA=b`Q_0qIdgBJaV44k{tqmKa-d2P!(dWJ z6sffX`xHDUkv2E2+sX-#PAanTQ^@X8pg1N;tqqZIMeGV0MefXpKH8@Nl>AD?C9+D1 zr$vA4u92AVOf?K^AEajQuvZf|Do~p=)|fw+khgx4O4bH+Z;XXxN>)3EqcOd0wIdE= zqt^VY5&R_h9vFwZ$zuQ6He?3kfeMEoJAY1SIuBMEmUywc%YBD`zcrnv5es!rOEkqiYL_P@er^K1e^_WF$xbF3u1SDm#65 zxZ;UX4i|6MrV%71uR}Fkku$!d(3SiUY6D}Odx_K_9L8#5U4@E;9mIa<%$w8rbDIql zv+Jz&mTFGJZ9d)u6zt=u<#aCJ9Fg^Ty!Pi!et6%I&mgxdvYncL6QngS$bDcOtRVF2 zE3+;Z7|FsFT5$Sxtr@E@i$X&`lgfi`B$>@LA)BQH&W4!Z4O&qa9{|)U)89!He7VHb z+Rn~j++ZrrsH~l;#7w@J^SYJe@Gqv3g5DQ>)2%wMr%vb+8Tb5^=?%Ij{SKp>eJ$6h zeoaHRq4%|H(ss1WAcZNyeAa(-L$K-nnuJ{rlhukRyyM0CQ)|viGmf8foMoSFUS6_{ zqW;F)mc|v1s<~ksOdaf(E*dgQhq*KCRQ>AfQXDxXmUM4vU4vp1MV*S_>w}MJfkSO6 zh;MdWN-K{}kgRN?@2d+3xgOkkoDHsS{*&P5X0`ADzY*4LSEJ0nJ)OjuGaJLdDzsBP zpStf$b~+uTEumGGv3<+q@o_R+91OJ*v&pTUd(3F7yuI(WZz%f1IOT=a#<R}#oN9mT@os7vj`xd-T6CWC{}_=24MRy= z`{jHh#v?k+N(CzFNET#OBnF}18mzpq)e{F~#*u%7p}Rq1V9GtX@;6(}mwi^Eizu3# zsk0cmDl@-22*|zBdFE$krP;e0wf3|jYqH;$9qO@-lSka{d<9(R1$C2ajv=Je=&mG1rQYVsD+5HHgx=g#=WC3>c&TjqmTb6L=8k}l zXA@axtom>e{O|Z<=?VY>UOg#G2GzygbvZs|S<>hChk}>5QDRCOL6#(b2{oF&eu z5}2PDlEz@|L_n85#YzZI^OSsS!VP<{VYvXrV9}7lQWr}zBZZ8{xr}5cbZ^_yx5<+E z<>CP0GrteSd)i*G{X{)6PqiG;j!nBAij1a>ASG*lR`Z^|j$C2dN=Wgtb@}-yCl1p+ zqaEZ-hjdlP1J4@ktBz0(nDYI1E-2~b*@L@d{9-@}mY@`=P215}|Wb`bPM|MhH#*7eNwgIu`iV9yGBR zW4i3tMd@QnW+623W8(fqp0_D#?XPQJEsyy53TE&)lt7@4Dfr4rs)AF#GkfS#saesR zVjf+$gmM{W-<+}_S;(b*cyPE{Gr#3*jOLHdoIf!`OsAVaS=Tj$Wen*i+5;Xgyq6fD z>KG-qK+rzsLTfDI8?omtJgNytR)2+Mz63?_DI|ExC^oe$E$4`A1ba=!OSdICQ&ZEi zH@oUcdOXN{3nWK4SPR{3Zx?pG{F3w9(WD&-y_NIg*bl(s(=Rc*v6&Zg{#|u>*U6C6 zai-J4fDqLW>wMX#XuEqWT6$ARQ*&NhLqBz1#NMfyFwQhNJnE|km;;ti8 z3AeXjmhNk0Rp zB*XW0+#}#hJ@yKN?Xj7-Q87Kkool`rN*+T9x8pAZ{b~y@L0zcaOtSFCd;J4p<*cms z5zeS&612R+^pfb5Siu+~A2T!MPFE8rin~vwaT&1FkBu6F$V?fIPZGRH-Yp+Xu5etT!)#zteo=#(5t|i>cOjGufHa$2R6!3`~gmZ3J%W^!(@CKgN^PHH{oLAnaEUf4f^?)}8n5IeO|KA@78Rb2yRFm|e2GI#jQ5%ZVn)tnt*; z5bS8EnQOF}3}w<*$~HREt~fmoyye{UY(6m9n(X^5Npmt;N z+S&9j6&(qvYValY-PU#)cvjtmBCdIwFqK#w*=$#C)0a_slu%pXKf9a|!*|AOeK+-T ztU5NeL#>XzCed+7mJJM(jZBuI8akt``un;(^pmAYyA#I1qFEbL?#!I~y>#O5jN_V< zfgW(!@ff@mLQ}7)+G^Wcac=KDFzbJMwY%Tc00h<8CSpzzx+q91v%hqs3$;W(`vY|w zu>c-0T-!>0y4}(m0r933#})3?8Gw5T8pzwg>eIF$DS42ABvH?@i~p?nTqj^(H>78k zYnLJ}k#JZ>9nf@Jv+-rWSkxM;t!qV@&m2=>c$n%pun^Yo_t2A(`<(I$%U+}s63!nX zLzHjkl?sQ9q+hAW*r<<}O&PXpG}&E{>*Qzfi0B8Bn_@Vbzf0N8T;CifI3)*je&FF5 zu*nIH9^UFj-~rB*dt#r4I^SEI@T6?>Adocc(@FBQ0UObsJ&D~?hW+${Dfp%%`JwL3 zC0c-G-+f(R?hW7NtFX&6Qx6%v;FBy(Df{E-DR_6k?3l$6>uK*{?5PEj7)SxNa<8oN z8{;i+CAgSE*tp~Q1PhIWF+2{a_bAh zwHbN3PvNrP)Tkn1T39pJC=6S0L)-v1Yj)MnI}WFuSGJui`eLSxhW&<~E%(oM6b$>( zU;b$+Fnbp^NB7O})hQ0q@0WE<_aQ9c8Ip0utxN1QC-d#CSAf)MxdUCh z4{2ORIh@?HtK4lY-2{>LOH0VTk>yV9uI1)V>A>%FF-b(`RZN|CU!4CbbuNJ?R+Ui9E6u@7X@0YiT7PfAzT}^{}H8mTw zn|qDUNN&8pgRAn?nZw65U+Je~IF7y-MI?ZYa-{bCjv@;V}eD zHnA=ue!u|s5?-#yX>+vm8`4Rg=?HdZ8V7p?T)IP2+Rk}q{78lco|-qA zebNMA<~G!7Ex)=O=P$Z>Id)k#4*F#+(YP8PH7}l!m!keWJF4|-Rg!Z_s_2zntmT+m zQ%??=<}mJD7i+D{HpumP1}a83j1l3b>(B+~1|UCy^%B)@{W=@ArrEv#o3|&FEYEl_ zy0%6MBfV(1jq=@T_KZTCk0a&`#{+CSAFOi=;-R`0^4-^ z3gtPn8hN#N%Y^M_O_^sx!`k-+FDC9vCKq4xrkbYU{@_x-Z}CS=eBo}D>u---g-znz zt~1mk-wHRi$Fd-Lb4f{mu&qACK9C4Io5k2VRWeItF5ixIOzIhOy&XWYcumW(y+^LL z`KJb!DZTF(;%unP6xx$o&ReZ#Y*A6&q8%8SQu-zkZevS{=E}O&HE?h}uAXjnVE_7t z{xI`xW6z<+4*w9jrcVqH@FoJF`h?FUcQVYs#kYPX%P>!lZ|%E7ENRiFyfJ$dKc~-n z1M63N4=Yeh9&8lty!E!2Ct`{x!Xy4Oi!|@JDB4!;PJJs&Zb$D=u;TpyMIVw3Pty1F zNv|S=SbP`|Kd;%+KCubD7S2%G!?o`JqW?qlVXwYd$d6o4vbn)0_r-*jKHu#Z`B7DS zV^l;e%(OrAmUXHNb)(;EhEi(PbiBQ^+hF@ef4sl{Y`i}%rj^t)^o8{`!ORP@!tAZk zIXC_cNFlpEyV=Vbzs>n#87L1_Reg3;Uu<{9J&9l`whNl&zzgyaWj6(l2vNi6`eTdQ zAv5}SATnc(`t}7WlM>5thk5(=v6lT{kF-q-yR^;A*I%s+^5rW2@bV-}+LiS_Q&=Xa zqhF2Be|Gg&EpKb^zT;k1sXRmZ9|xX>I0Y=+U5k!$hI{?Qb6DbLw(W$uk~FSa%%s-a z(EM|X1gt@^y@i>y&;slCo)&iEH#opP#nEE7&?J!2RH$BJxe;{R)2KBz%*As1XQ6DJ zyWn|Q(4j77m2F)ZHy5NOHg8$c`8fuclAjb}zXRxkFef`E9P@qV{1!r2R~!45o6>iY ztcmiz4QGMaFK8jVx#Gxa4z-8=J_G-HDJ=O2cD3qTtSg_Sp=b4)R3B4h4HvWirQSsI zce_d(@4iLq2p%mR3({G~=qg8APVrCYZ-dnyILsU*o8`>j^PS?22GI07nyYLK7 z;92oVqDaWqBh*qAZPjN`ZGEsj2%fxIRI0K`!K{wFQ8g|O8~WIP1fbgD0th{`=FSTE zcv+hFAn;d<{$9tyo8CVJiQ-NUKcNOWh27}y-uH84t#`w}ld5Rz%JdeUlyrsC`i8!> z37_=f9M`3n;D*}lQzh3wp^pwA%>x81s@kUtP}EQ0=j<*=RfT+*U8eqeidn|KIp$30 zj?&x)D-rl6C5ORs+-c)zuF$SymRti3!c8A5we3d{C%f_T=G^C8Ly8_~(VFarExxwO#IrYLDLXMb7bZXnVW^7g9!Y zv3x`*VjP_kn-lzTEyrumi$Q=VLOqRbLJ{{`ihh9vnWVWLSafkU)1ozQ)?_k(B}d@< zc)d!!s<&#CDlREir%g{vkj>t`N~ox|$n%d=@X^L|DQ!Q*$*xbXW>Ds(YL^eFXue3Y zOG+kg9G8?CnmisinUEUa{oC5b;#z-wH0>)4bKZ#I!@OQ)Qs)?of@6{ij4E0Mmy}x) zpxSfZA!0JlfcZf=mC0DpJGCPN__CKVUcW07=Oef4q?SgdhGA4YGn%3|k6Eapw*-$* zamnP2*YC(=jsMFdRp&hV1;AY?Viz4OCHSBa5$+=Tt8wLi=>;q3vD5Xlb+)o4%4Au+ z3Od!@9hsj^(6M9ERzjwz?J`TF30u>pgoTf5qD2=TDmd+J)uP=ip4h1c z%PBWuD&TFg$xUt!P4`N?1Jxc%lM9fuEmC||%RN><#$_ek#_Ytr8>&|?Y1u8A5+{-+ z5+?$_s_@-n-a@o~krEk%bMpD5z<)VP@|P|7N97Y>n76W<42yz_xSh9 zNUd#4l_`UclJ)vzat5#_L9*zqh$NYCEeFghx-f-L=x>G{JzAV1#9h)Ad8?pR(5hry z%h#pk6rFwYf~9qcCFp4KAozF*T4wS_q@z!fS3<(bNv+Gekguv39_yWD#4 z@8{A^!JKBzDoGys1TV4}2C3~FZYHNkPF{{}9#Vq&Xnh~|=aV7ve$Ol_!dvC-lN-#tsZGFd z2tEUGpCz^b3GvNG_)iclCWDVzt};3;-N|N01PB!k4Nc1yU5fEQ-8MM+d2uV%(0X^+ zc56}JRi0N)q>^`8(87N4U3udEj%q^-w-TDztl^W$7s?k(5q*v zWM<1_w6;zEyWl;WbIhiBpoLK|Gh&8+{sq(tl5#8;kt?2*jTom=ol;fS54h{(s!gv9 zaI$0@V+RR2adRUSaq9FdQCkdB+H7P0gw7kclC@VT-gk8aKLnC(c4Ai}I6Mc6ahc;vTRuX(468;5VbE%@VbczML@?_aUT{VfWR@~{PQ|0^(xx>Eg72lPd+EE5b(SY*qf_casiat@HAo#TD)DQ z%#|$?$Q;8txpCGIm#&Rdxblsz*JntbSe@vd9yTp8wCd@-+t_syD| zTVG;PaaWZ}HOYS>fIVhj^Y1_MH@AT&z}Yo`50f66ZjV^RUUUSVl-%9j=7OWA!B%;} zs#nEb^*!n%>zyh`D(b59R>w(OiFIi^UH>!X-!;|wk>uE`vSLJ{MA8~sE-z`MIQav= z_RmyIqawM9_++{N!`(fw<7ON9s&1XCe~Tm|oEVu(E}q&ea{;)4S>vix@WQir5d_pn z%Q^HF{zQR?_KK)0kex=AedLOqSoEbPE%f{n*ODAUl>Tm>OKxhLsST@fgZ>YIwU=tj z!(DlZ1dha#f7m6ZCf4cyXV*Wg(i@VKb4q;vPx7tSy5}`JAsjjNHQazJ<2+l5498cx z{}1$})YJi@ku@jI{N9xU?N@XOMc+5KR}enzEBc^Q-ag`|U#iOB($LV{UqmHzF9|)4 z)~Tya1;z;o`MyK5{{13SJCm`z*IUI@#1U|+us&75EjPKgU_h>C z6fyii-5JLH%JRlAb0&xwJ7Fbe!zyqhPHI`PP&ZZBvn%88`oJT{&GlOs_l_MJi_cj# z_cb=3Uikxdex&@_bNv8{dz?(m`rGF6nTu(|idT4^PvB$n5UB{0>aCfE+AHS%qkx-1 z`Rq!Q{{X7{PJQLSuF%xHasqEA8@!0rmI8ipvwUT79deU;dSZqy_y1#Ut<&uPs;sJx zD)!PWL?m$})@ihn|6ddQ*L<=RcmIdVKM^TVgReyN|H%Sq{3R>vQmucS2)-(ezX0)n zck@!IzvuT_`9k~#lqrupB;rS8bS?~D|DC_%1)>=;0P8lp?RQvC*s~6VJ_h-Ma7DtczkG|)H?>R0zRyFvULCslA zz$W&yuvy$JNz{CpTS8NK(^iw*Jo)^6V033yXK6@SNNq@QNKQ!Jy6nKs*a#+GMj%s- zq<{oO5+OB}O(6x7@|U*uT(Bfmzc9|Oh;qquDRW77iFC9k`NT?{n^lgSzfvo32cDJ5Ju_|#boHnn2$9~&p z8&|Z5Jq7%VydUezIRCOv!45VUny{OIQ3A|!L26KA-sy{J*b|1x z8H9vlif62=30jzLBS+nXGJ4&{!k{Z=YbR>mY&>F?9|C#Aij3Y=-EM4yWtzJvRy8&@O)uyo=FM1OQkDpu znUMvi#m^JJcJPgXN}Su>d18XEI9|!%yKnh!0sabD`lG4ncAFpQPN$QpOzKFiducVVf zt~ya@JI*Gv|C-7Xbp)8Wqz=0~0z7Ba9yr{b(-Dh*VEcLQLw3y1d6n!KdnZ>Zb;tU- z9KNU+TlCy5F|ei$*_>Tdn5KPPEpXmJ2DnjA=Sr3}lxsurgY|c4rv3V}0I`dYWA9jM z8L>jZFL)AeDBC7GmJ7X2X8P26H0<<|Oum5avtUV=-^O(u!89&?upe5%{9+V{A1;B} zm<@!fVAm(i7K14Z;TB><{GDz5$T?a@?3;(f=RjG8Uu1JSR)gV3obw;7ek&bTxjtX% zKUkHX<06PKjQQ8q28%O5!2_(s8;_4WU0;H}FOT8g6^F)*Z7R>n6T}{;Q~WRq{*`(- z<;qRGNA?ru3Xtm+J3_tK&9Rq0U72$a{RHS0tb0UY14a>llOK)j-yx=ijDsAlKa4{^ zh!ayUj_a4e;Pva5q|Ad*^iu*G#a3G29pcvr^h)3@N7h7d-5fIABnH;hEY?_a)?Dc~ zZU>KiTWZQiKEDAlv+kjFCO#Td#RR0kA9eZ0(NXe#c=4MBz?&_3wwM6mMuh zsyeMIcz|MEIJ#aS%)<5P>_x(8L{xR~mz{p)Nb1mtogwA#Rx+9=o3@Hq1K{p&CG~xf zRg7Ns|DJH^?n&CMTy*5bnxjoi7aabi7e#A(2L3G}s~^2h@$LKNYoYJZM@eT2Hus>9 z{Eu8c1+7_2j*4xhtU0!hH`ge;hGB7tKV0#`MF|H=0N6N+V&(ZT>He9#7s`(l_@Cc`f|oFWcQnWDn&` z5iu%ku_nBFfgKQK?n|mIxPNojRrcXNJc#S`cxn>vH^O!JzURqd4}Vg1kk4fyiGGii zExR?{^E11!jUPsdnioqo)$F_OtaLfg=KT-(4nGVteo!AESuHzI@3Gc5`pmu#`+PSv z@GZQWe>I9*`X`+x`1(}VLCXEW2bX2Ve1Ea86Fp6Pc3hW@`Y2Oyt zgIdI_n;|TOZ@ZVlV&cNg$2TR*pU@V=Q$Ic@1S#$>OQkO~Q#&^KRSN0UD#uC{FCdbg zYxIrHtxNZ$PotgNy&=d@12-tMrO)9WqRLs440R`(pJL*SudNy8?Y! zRg)NLRCB|1LBRao{f;)WbUH4S&4$*HS!8c`$xk^=jLEVGx(?V&_0s3XscCp=cGdyo zb#1fo4Lkepf;mx))(`E*qdZ~Xx@h48s}})FV5JmX0cYB9X2*u$JW6*c5c7PXRJFf3 z<%j{7h8;Yo=y8{lCB5pKT^8Y5$0@TotFfw7=Xqm)nS0Rv^W4io7i~gZSvK^xI)^|q z-@&rRrl9)FW&#BO@UCg&&#HalFaRE+gkxRyW=&Sc#jn1rc-Yhi@Q; zL8M7O^ojh)MDmoqJjk{_j{}fK>ebh-N|~c!@2KMjT^Qa#=*=0GVeSL!PUW&L1XkU5 zWv=>sM!0Yo*yZ2eA?qc0xlUzu9Z!ui@p+rPkA8XLIAhh;4agOoS3Yv=D~x;>>DjyK zi?|PBaO&>F+0HBECORoR4&k_1bft5=d~`-UD8)*XR;!#+b^yP)Msd=B=$?7+K!#_X z5jAxKvO`nDBU^GX@^%CdxZ(Kn>}6ng<3U<^Wa_P7#0krHtG4r89H645l6dhtKD?C@wQxQ8jtNAkExz@+-|I!q37R?;Dt}VhNI%$ z*xnJjP5QfW`95>*eOi$0Pw0WtlsM6x`U8qKkE>oY+c%f9bGRJP_FRes%xbHpcLowy z*DIYVckhyuIiM+pKCsONp150VdZ!S_KKO|bEjWKMA`fw2xJlzRB@B;#cifh_P`FsF z>Yt(QB{$^eT^EntB_W%#n`gc$D3D5MH_Sj(Sot9M1D!UVFs|9H0c0}D?FTJ;L z-bg%6Z`)ACHsoct;nI#_?jQG<>a8<*6=B0B)YLHW^f=mNk9NN zFCDAtyE^SPI?YXrx4`S40qs$S&e?lsI?xz6n{iy)@Oty{Acnar=u1$XDQaS`lgF^J z`6##9!y%Ml?BLLOF913k)I!OMhkKi7Nj zQ`$@R?XkpQx8TBiXTWX!6zjC%#i_i)QO8k0V!M=xsvremQQ@E(q}w5}--y_n4fMUS zMr4rMt9iG`fm*hXwKyR4Tq8sJaX5rIln8vja3FH%e1g#oZI*J z{!sWKKGo%}(CG-`w-#Voiq3ds-quW}WTGG+bE1HE>ZU6Asi}zCah83e^0xX`WvXkJ zfoHxQN-{A`n4NYs@qR{om%RDqv}WoCnw@SC6r1@#7BbC=sjfpt-=#U&gwgm{JkHJ^ z=9m(oV-Ixi`MkSnPf!8?LMC2q9Tu*2u?8x7Up#aN6arb+Qs!=_x*K%r&Jrii635bb1d{gw%Ew+M8)2r2&%D{a z={MPC{4f^5&We2r#ewC%id|x@DzQ`T{$YS1;1<$J658Vpd(mp_k?)W@USa)Nxr`3z z12LnW9xb=sx-Xe-)x`mq2(4*6rjtAHG#y`e*}PYb45`|XDgb-e&oZkD;(&|rqi%oT z76`Bigc5^NXV?85!?H6_Ss*_A0^Mo9H!3D!9*pDErG9%6r6O-*Y4K^v1X@(khL z9b~O}F=+5iq5Bp21!f_~?{@^irckQ7S^{%mHAaL%*qRL$(j@ zZ85yA$2_E)bA#tk`+Zn5(>`6++w1$LIxnP!(?8=Kg#VsNbEPMl9$vcF_w??IajY-= zJ*t;}d-geugf;bZV{QAY6WP7Tzk*kt9Q}Kzn5ir2(Io2`aweqQw<<=$dV=_<_XmD$ zfJhxFSMM0*c#1uu4j7LN2i&9Pi<$Y7L(a+(M^btu@jWd!aL&qdwv-d5qL7LxtieT z`@B#0OrvjvylK0HF6F(w%X-s~SLes9&Ha6`yti(B5_8B`JyPH9{*Vp}^L>=`cIC!B zzpQjtBAEo2iLs~nzI)zVZX2HcgS@wZ-y&z-ZLfQRBI%Ch(msb_9^*!cGY{^~8jpTi zrucsVnLuX06s*5^5cU92uz_M0>_H&fLOcw62q@T4kqvtoDA;f@2lfb1u#sXe>^nfg zMu~Z_(?G$}#RAxOf`Vm;g|J71f=v;NVc!J`cDGmx`yNoRsbV?odqK3mSP6SNDAR=w}=Q{f+nKXf-~NBh>f^3^GoD!NwZv-(rnFC>O z0x>(8gJI`^n4Qd_u=7F8OXhIcPlAH&Fh_!~nxnu2W;%G#%mCjo$AE8|<7Ca76Tm~} zB=E2~1w3Nj4IVY8f^VDCz<10U;4$-l@XzK<@O|?^@VGe({J?w|{Lst>KQiZlADeT* z6XrbdFXjU96LTSW(p(IFYAyvoGna#(n=8Rmb2V6It^vO=*MXd|>H(}Sd4#BPiV%4*bfc31m!TQ#_U<2zI*wA_(Y-D`^Hnu(jn^-51swpT~GwTzu zx%DZSV0{j@vdU!7u}*=4 z8i)~XorirVh!JgFfIS+-h_-%&Jr)#foOKEIcu=qj)@9feLBS?jzrvmjV&1lXgMAl> zdE5FO_B|lxZ47$M+aTs`%YZ!{6l{iN!M+a^?0(A*`%j=?Gc70V2SCj2mJgU|`GT`7 zfA}8)F}GWRu(LqS?N%`C*&yb2D-?DPh`HSggZ&7Ix!sC@Js-r}ZdHfs^+hWCmyR6#a9;+_+l2sp}FN1>Zvl_yF1;qHW8pD1K6s*{43huX> zgRfgH!2?z+gqDC9eO4RTZ-5wmRy){lff#*O2k@}f2|QwT29H`v2z?vG=(DQPI*dK!!iB@0Oe*rNPt^Tl2f*6U`K-iyw z7>U+k@Ox`0Jbwi-i(13Mi`Gc+M{5-Lla&tsY-NDISYyCnt#RNLYXWH5CV@8F6wq$F z8+6#FA~z=}n9DW|whxFk%QgeHFNoF3c0U+kn+evnJqXsb%>wJ&9tIoOvcZP7Ibb8( zT(Gfi9@x~j0BmMk2sXDZ23y#cf-P;!!35h%u$65!*wMBI*XjfccB^e2c)M*qm}1)q zrrI`vy={45KU+RH&{hZzvTZ@C!JuG6Y(=n#f>;@C+rSLl4sfh(Cpg}=8=(_G^l;lV z;C;5|z(3hu05{q8g88Df@}-5cr1e zh-^FC+u&bp@5(l^9Ro{k?;~v)h&Hl)Alu0H5j;PF*e%#kz&1e4c=k_VTOiuS{;8~I z`{(ckg4h+<%U}nC*cI4MfuZ&<;i(2GJXg>ox62wes{|=0@e-B36&%s{< z#L8$t4?70Ld}zM_yB3J~(EcOrcu=rg?3cjK_RCpryD#h^Aa^$v(ut$JsDSI&NJ3!2M_E2!9 zJq*mUN5G#AVi#wx4tp7hb<-XV`$-U^%w7}rF%YB79t-<@5bK>i4)zBi+QnWQ{ENLV z_=&wfc+%bw{M6nU{LJ1I{M_CgEVZ`;%j~Vduk3BWukG!?Z|ohwGxkp4S$k*jdwUXi z&fW$5!G0Tf-rg1bn>_`*VDAB5wD$ymwD$&oviAiq+53Y(+XsTeF&H!)LqWS^I7;gP z@s!~h3EKtYS;H|3wj0F0(UA_@55&&Lkpa6pi1u}i0izw`z#5JTU`@v)Fvc+jjCI@% z)^bb*;~dk#c*hK|w&Q-Vj${pJRvR^rNgWVj@fGLjW!0wJ0z#fjhV5;L~u&3h{aDd}A z)XYE-GlOG4?7<*r2FC%|LqW_5j)SmAgIGNsZ^9l6V)b+!f;}F@>ghNFdm@O{)A2U! z$skrw$GhNNj$`0Mj`zWZjt{^^j*q})juVFbwc$^|6^>7lY9)y03&-cO-#W^`CmpB2 zEsih2t&Xq39gZ{L(~j@JosRDf`P*^lz}=4X$YBqNna6Pfe97@6JTHS-*BqC?R~(nY zR~^5CuQ`4L-*Ws89(HgOE0Mzh|Lm~9lMXxhxx)#barl7WI()(J9R4O}XF>F2M<96K z5e!~(gn~ai!obUp2+(v^2Q6nbXmi#CeVnnN+ZhK2I%|VL&bnZzvpyKzo2U?z|gZ@0<#5bWTJ0p8&CrIA_4l1qCZ` z-Vg3@&IF%!J_zn~&O+!eP_Sp54};G;v%$U2Ip99$T<~@0Jn(>X0a)T(i1-IVtTN8U z;G52+;9Jh+;34Nq@Q8CYc+|NDeA~GWe8;(7w!U*C_?~kUc+8n6dxA3`eBW6p`-5`} z_>Hp&{KdHqSNRph4#Bwt_HQ7baGg8B-<`Wb=6Xi<0oQY~#a%BTjxUJW#lLuC>owU%uKlu&Tn7+mFo>3N9fUm;M0>g3lvvhhE^c98=Q6+#UDz(O6D~XW7nc+K#N`8?boqjxy8OYM-aOypO#=BpH}en1u@Ee+JOCi+JOUnI)DRxI)Q_HIwQ_t z5H0AF1bZlm7WC-?dpL+O;&U5#mrqylZl4tJ9-kiIRG*&UJfGg+0-wI%3ZMSqDxZPi z8lS<)VJ#@wI-jAi9|utbKEuH;eMW+3eMW(Q^+^XW`ecAV`HTU7@fipH>N5en;xh^S z&1VYucb~gujrmLknR^;2+%rJKeLrZrXM&ddLD1%&1=`&YgAR8#=ycBkUGBMHPxm~q zmwSP%4fjG>8}7y6DECq@-Mt(f=Uxd;aIXfJy4Qfq-Rr=|-Rr^i?v3Dn_a@xe>mbIp zI}dgVh`!{`hy4bKaqTXI{T7Jc<=z7OFo@CZE`og&M89%x13z-_kUh%1Q}!SCZrOj_ z&&dAceh&P~{Q~&4doTEn`(?1P?<-&v-`BtvzWc#s-vi+7z6a$!`o1Z9g6|=DcfLo! z!M<->c9y^zGCS+Y8iTj8reHVL9PG|of~l+(>%guUet}(BKhq4njSVqH;O%S#*c;En zBCrvEB*-0-!TW@|LzZ$^SUa|qyTdwweqo)!fUwSBP*@UM!D}FN1&=}K3LYQU6Rd;K z6}+AbZ4lNQY!ud*<@47OGoP0rWjh1q(KO^R0 zemr~}_#t9`%&SGT1H&Ua$lte%7zoBhbOvihB!Te}gTXoxjajtFiEIZx64?QqA2|?w zG_o_eC^89L5;+)L7TK895UUWghIkAyYlz1YvxeA!m^H)`h*?AAB4!P-88K^$ClRxz zcnUFVimixQQ*1}fn&N51tSNROW=*jNG4~JptN%NLJ{i=Q4Q8X*18fd^jBR8EY#ZCd z_OfF3CVPi{z)rGL>|1t$U11jY<6%68*XJ#G2cFDR`2hYW{sKS2FLAf1DQ*?L#SoDu zeh`)sY20e`HijGXj7`QKBgm|7#+!r9H1m1$QR_|X9V^GS(6++1&X#L?+4iF?)Bdad zJ;y0WcjsW|IOkz!8&`l&Q=c|I89wWLj`)1)BizaE_3i@q0r%hCHeY|=aNmx;_xi5& z&GUWL_l$3Izjl5P`sMiT^fUdV{Tust_2&Wp0pS5n0@?&@40tQxSb!Pm4r~zEGB70xCT9PHjvdL9Hu$a0)?>Hce`xB^qleyo=)}k)BTtNUZhO~l@44;S+kW}B zPu%vqxBcO5J8wUAd;a$M+sn8A{OzB){g?0f#2vqP$KgA_{m!*J-+AXVcm9hz-+$-- ze&^5L`5SkB{?0Gn`IS5W^3JZqI}h(Z{QAT99e(ieTMw(;M*qM1@tjh*AL{?RW56$S zCwJa7)UDoF&!)IS{l-Ua-QsQvfF!+*4! zecKK0D~JEL5M4jsU5_Vme|h*byVLO=J)g!EpF#Iu! zTh#Z#^DI2?hv)m@`Iqqg06hN+o_`I`55n^Sc>Wi7eh8i)hUbIu{I9vQv~Topa?>#4 zXA~Ob{3tvhg6GHJ`SDy+{RBK8hUX{Y`6+n*Ej%BA=Q((O8lInl=cBon`dIEs_3v{3 zlls}*hWhvL{2V+#pL@6Zh1@ghKjgk!JrB<>=H8=z37%ih@fSsZHTSIgHF$mcO zS0B%PNc~3cr_^ueeh#?~aE$+;ek=D&>QlL2RiDnipnf~|3H3XkI$<=$bC`$Av}Ks&llkNV|f0L+vLa$=fC9Mko$8O(f<{mufp>e z@cg&jk=)nd`R}=VbAJiXU%~U&xudzi$(_pm4|x6-p1*_V@8S8s;rR!6UILErb$I@t z+_~I8!lSy*<#O)pCRI?1pC#JVWpd zcQtZ*yDsHk*Y(}Geeiq>Jp19f37(tb`6uw)0?&c2_vQ|EeP8a@u4i+Hx_%f5S@o!o z52Cw6+@0X&$o)-%2L-=J+>7G=fx34Q-9HldPsRN+aR+i=dmXyF#N8|IK5=gm_n^3U zh*Kb7f$BLeG|c-lz6`__}>=% zA4<8tAnunX{L2#l7w}$=TrS7gB;H?&``6%%KZpOu!1i~d`zPZ5{%#KcoVW*vxcv_far?htyY5f+e6;&{aG&e>?C$g1kLS+y9?w;JzpeMVo=1B>*|XUDJh;#GycM3e4?owl z47g?RuYvzpy8fd7*Wl@ee80c@zFq$sp3m<7{NTq2zBKsa?&o^`9MXJV{pFsI54?Zq z#occkesT9QJntWRUbTmxSI-Q8cK62XUWDhfyFa(@v%CLz-;3bB2<~Th*T3bnyFdCZ zFT(Tddq-~?>3_>jj}2j-e+d2^+g662hc@~8O~1bP;hTSR?{ht$gy-Y%{QBOv-h2wm z^=5b)!x;bho_WCk{NCr`d9G)qKhAv=-uZFx{}enwy%*c|#~@zq;M(x^ZN0q@kL>FG z=OewnFZPuCUhJvB)2n_`^{ERWXI_B$_<|aMX9}Kkcv%_#JM&}?UoiQCcyLcZ2Jb1cPy0=6z zBmzOnto#$2Nqw8~Mr z9W1UzLAi>r+;^YOlstt-*bd9J@Tq_Tb=a{}=$niyT5Y|!){NRgBN4O|LkEbz5RaGRc6qrL zOhwJQAoHzOZGEw+p=x!i8P&^eD5an*-KaC?g7$c`5x1j`MV6!0WM>^cnoZkB6Y<85 zT2ejg)AT6^9=rGG7*qa&hrRcd!DdinGP6y}lt~pwbr&B^cQK&q>!mfMhZ7})fJExp z>H>!1MrEi-9bStBQE5Wwi9gxSN8Q1v#+$WTP(cdDbOG^bxz-8diEw2lhyX0MBj{BR z4$5^4rz(0MjNtFcz#q#-L-eD7pXxL!;4Dx@Cd%z{vDt|#0ib4q;E;~MTbOKg>Oo|n zCp+b~0P|5$4J$Bwz@M+QJLMYHVc1RcacXH+h7e5gLAXd45e z`KVd#RDuY}5cBmy7obz-8ntx~Io_;84~22Fk*}6p(B9DS7RNat6hylGwXnVJ;8FUMmJ|Y=mu@D4<<9DA5Iq_Ommy%f{M0%)ZJ?&3Y9#=!7=Z^y?orh$x7UuU zI#R*OQt5J3Zb3X?F~BJ5EsO)n7VkXs;Hgrn21TvKN7W^aTrZWT!bTYw&n5$F%o~3m zGzQSwPFSlFAF2{!CagrwxVh3Eg|U5XOf5E-3XL{-*fpGDER!>gWpakG%(9KiC`A{T zvv|z_^vgFDnjD*B{@5H#jLosc*vu*qOugTcfj>!T8iQlD-;;DTrXCK~sR;As z5W!7oU`!PzLPD3Lb%2l*#xyC6At{UzDU7N5m?ecVO9~igOkEoDx_&IlV~-)fgmOVB zw3?-OY}+5a)ysmBr&ai0xKzIH6LPXXIpemi#MF|WrgG{wa@#%+2G>zqj1>-Xd8 z)alblCypK+KR$Ni?8*G``^N7*ao^d~QzuX4Pfi>^eRll#_^GL*_Z>ejw0hrhrd4ot z(T`^q)ywBN7w34gB~K(9>x3on(Ea!j$&FeYWQ^GxSorFIl&fiOxoZ7vp4Rq9=V3!GGx#SBmBluGFbS zF2_$fEqF>z+-*@12^wZ))=NN$BXQlVfKm&K{dMeq!=eW>HSL zd7ttK?o>jMNml+e$`%Ra>C8+3I|H*_EqG9!nU8=|wSz*vRSR$~kU66bqILYB0&!xJ z@#n+#+W16%F;Ar+#sFd;A>t(Bk{8;J=;y4OSt>4;&Q6w!i}}UExSF2JPpHM>()|3~ z!s6rv*KR`1lq++^$L4G0_6i6xfOza|^NIt)L|qBu7<{EhaHUw z=Vs>?CQCDu#bW-PMxM_v%ob+P6%**mg@w5Vi!_PNOsbi=iNaK264IM}G`~>D&n}k6 zm!=n&7U13Kx#FZcyEHX5xlk$=-a4t~^9%Xu>B;HR?A&4rd~@gF#hKzcH9J>Ye0+Yg zlwZKS0WmQ-m4{?X(}mf|()8r)xy6T6u{b_mP{sAQ9n?q92g{>N1!vxQnEbO#)6?qw zjG8ITmL`@Kpb_V0O=4%~78mDcN^?`#yyFj-=JSh-lM6O{ac({xNU4@*6^u9dmD~$+ zHs{CYt^e3qQB6)y7v_tFqMBbQ%qB-X6 z+`>$LQ56>#pxL3eGlfO9xR4)*kQwk5X4vCoFblEgp?2eQOWHjQ**^fCl`uP zjy6?Tgt=)dyn=HWA=(L;BEX`Dp~)*Pm>GjANLK{2OsXLn!m21PNLV02v~4=% zD^>Bg8r0yI>-H$fUVvYAs6y4_N;9g3%PL;Rk*!J<1yDuanC~pt!V0&>bl3>WQNB@~ z#iCOlo8+rrHk^r5;kpQbm6KwNx6KY@F^jwl zlH!=-C<*&o%PPus(;56KttvT3D4XJ53A4cG{H^UkIM; zgi#O+Do&%QaBgdGNqiL6N_*LvZeo7*D1Zqhi-_#{Y;=p2*O|o!M;D`YOhbqXs#%lj z2SN`?B*(<|#zFuhUwu1}WjJ1R`Uh2&CIEMhp{B0?ABA0GO)V^BwXoHDcf|;YtX85`tm9bkXEe z49YbCP!|Rc5K<+mp)U}oM4}a|aIh%EntWU#o(NV#^c63LtroiNCb^|pJebv7R1G4E zZhea#5F5s!DhLYGSZvlnHiu#eDM7r|Mibq65I=Oefg)m=%604ds8Z;|^W~0tIVN#q z9D2Ns?WXxJ1sWiBf%%myPKd6$a4%GAr32?-tkq+KFX;xQ?!@(ZEoj@Wv166e*)Xj=<#CqGsbpVhaJgZvX>~NCbTpb(_rM zoXMDa9`JfJGc;4asI{T$(I)&Lb3NAq&ly)Peehzbbhcc%h??Uts6l9DJZAzERU9g1C-9U@Dk>_Ff?K#%QBLMI#5#W1r5 zI9RiTWb|gdQ-Q29N&rj<#!GFJU{VjK>ja`?b_lm^c9;yY%<8nWtFlQ*G0cn)+^pEi z3^KJ`%+oqMgH)Q0>qkQ2Ym*@T^7WJ7BnEQiEh7-8*?h2W66~n2v+_i3^`%Ydd2S`E z4{HI=92ptGBwAmt5h>3_*>UE9H3LL42C6SJ*g*~THJb%bmzRSK^kTC$9bC!^nE~Ds z!pz4TYnw!3Md#+pVz1*Yn#B$)wN5qAb75BJTqgo$Ft?(+K8!Qs%UGTyC4n}$umyh3wmRv)pxKQr)b0QC%L(N#uCVzXJI&{%0^ zbDQiCl9fP!iL!%9T^2+cx#30wJVeh?W)x)5DwF)5@n#s~2Ky$VSQ>1XjG(1fO#G7fIWr>Y z4e3p2Jgb>S*v{(tC|t!In=PVDUdqN7;${u^8<8w<9A`HznptGee#>tM4w%U*>7b9RyEfXF=%PNg`|=l?52?&16EqV6w>&I%4Vs#S(L?c1S_UIaIZGD^`@+3 zix^P2Og!>2yYrht0(G)6$n1%XS(6km*n^6oy-VVveImVNRkx*tL0!d zxRSN-n~#E(FeAj7J~xY^MX8K}070)dqjU(dfO8 zg*eM=U~w&g*5~n~aSK6<)I>yEPBt!Vt7)2vZAqX5)A69eP5pJqWWCj1cM(Furoqq} zYJ9ESSPkOErVy+xVmn&bK*cl|zlIJ`g4v>rtuf5pN-?N38>kn&)VvsQJQGTL`mw~A z0onp;A^#F28=ZwAT~!_H1(KX@Ue-{}dO;+KrpQOCcOoy+42c(;Q&ee!Va<+@1Az?K zBkckRh6}9$oa&Yu;gg-fzCc7U7y0rD78L%{$y(x9`RZEJg=z34VNt(WETrW?h4WFl z<-n!3^`Ck0SgBN(;&gzBk-mW0`MaO+cfDxGgN|Vpo=jbtRztj;p&=;t3i}f%fbG6oTfIi%lTK3Y4~pI#R^K$cNvFW(NkAwOLcev+HdaUYc$;RvmaEsD$-$ z&A}wi-V|E1IAFmnrW_=-rvuBTqRtfh*ab6?^j4>H^L}MulEzFkA}7!#l_9pAUc@8f^x6`VzCn0P<#7Gox|b z?D~c``xap?fe}&VxdCQeSYL==8;3#%L>Fh9ZCv3SI3K$hF}-BJH6&Gm^%htXV!tfB z3E;Vl*#jX;Rn`%kP#{&{mBc&^?rew#a2^`^ta-Vx0_CF8v_mNwZT}NcW_ALDN<0fe zh};_3R68FFj>{$hN{ZseZKy&OJhB5te$g+JX!#H@8jC_kCm0<00HOVoU}%wcz8tm% zUTpFxRZCG=gl@$YYXOOgO>A({+o>tG^P_D*)c~&5Tp>jUBOo7EYd}U0n&YLTFa~IV zYiuH5of&A;ubyFPc#+47B?Q*3m*!uyp}_O616pqh`Gk38@p5xIKt)WUI5!Pc-hrWG z0?RKjDGrP?X#!*s#>HwDprg3jbX9f% zYU?Njsa+5iSrgjKP<5*j(gtRiiHheTsId){hv{2f;44KWy>#ci1}yWj407AS;lpF;!h$63CdK*{DSPk+?i6#WUAw zSDG|pa7Iwjv>hGN2oy3UbkQmXXC^k&(y9`|@FK|u%A98r*2mi|79IyWZ4=1L@XO=} z0$xUU8tu|$P;-PPhSr(_(xx1Dp}S4TeduFMOdP&Usq2E#yLC*N8ZhQs1UV}#358|~ zS81|aY`P)d%1bcTUvjNNgqguiVIaFd=&(u#t(RM(%7BP%#jm9|X!;xl0gIFHa$yj$R+kt=J-wZjZoxtwzg97$rJlEJ4tPb=*$CmA&bK zpi(PG8pBem=&{eP`++ckml`1K)Ydfy4U}+k5Aqb3TilX0wK29hQ^M56499@8u-ItN zYDk~^QLCgdLf^N+GKzEaj|rHRjU-6ev!aL)uwo9Hm?|#>(CU)p3~;X?;;coMBVd_# zZOAXCWBPToMA3~R>So|8rt_qy$YHUstz$EZkSNbZD0Y@(>j!qHA?5K?{Dd0pRXDyZnV8stJ zvW94H6a{nyL@v_jAgmn=lT{IiE(P#n9+_-2%11z!ZRk#&Q$Y-STq`__jI)rXN)l5< zb4HsC+R1>7+Av67c))s%49rr&PSzP2C$n{6_MpOcyxcNL$Ix;T=H5OTT;D4k8Od>&a zNaL9;ps69XvsIaK7DOfqkX0E5iNvfK1F-@f(AFLzfpRTI#=!2QLA2bAX;zKR>d~Qq zQBhbUpM}K1LxzB2Q@8|k3+h&&MSfHsVx{iSq*_PC6L+(g0?+< zlr4_7*wHeX4MD4HNgY>$79?w8Ck0ZiJBc`O1sSD_SZY;~MjTAy0QF+i4J<_taL(E2 zl155l%077J!J{SAdpcFuc9mrMYyfK^?4i(ViTe*d!q&-8JBR22IhXZ>(1ADyK@CWZ zR5AY0fH4CAjqrrqwAmMmeY|PP2xzyC`a-A5AiRX_b=2*Sg9q4uEghN;;Z-6Y zLJj>FaKoVO;b4*E(H2aaUXjN;AZt1(ZIEU$trRA0nwF-`hr((#XgGvrDv(>RgQxXdXHSyLsrNo?V%T6s10x*9kf)qVlQ{43;h!t=PB1wDbijx^Rmqxx~| zm&l1_xRZn9-RX2Q$$}}XD_ZNcm*w_qs}@#52Se*gr})!Fn(0ukcT&{TXGRGVeQY7# z)lO5ID9hZD50e|6?@f*voYmSmPpmpYz!_aWkX3IGq8m;C@AW&0i=NGG+qMU?B0}rp zLptql%PXtKbk)e%Dr#O?cUv5|0&?Q8L4`;24crGLA9*~bkQgj$6;cWhv#gC^jF@RY zw~(7+W^xvpuvM0GQa;WT7+LCLZ|O;LK-``P*gM&H(j-j-#h&=}PTbfq9}{?xw{yuT zlA+kkib>PbHWSBCnzC?VN43X@vg03TS&9LEQ_=7*t`! zQwk!LIZy#N2OSuPG&q zP;=;`q6Xt06*WlKe32KY95Olq!Sb?r++AeCU?d%fT;P4Wae-6dmLV#xRXtwic@G<7 zvRqjM^6fOhIg6Bmb1eMgF?)1n#0q3JKQj_b%OwoYc2FV%5k6XtCz=6{Ar7d6=t>@K z=}&ZWnS3+NMsu;*!K`80HUxlXDGE==@>I}iH>YX{L4s>Mh;cxh%~}Fhv+Vwn}_#w8;i>%1$~A zlQA6B0Em;e5t|5I3EKwXQ|pY!STZgonuS<4B5#EbS~He3U!qHb0l`RZ+DcHqLi!cV zFo*~P>xcj*R|g|;_y~#{$HQQB7jc=Kh@JX6=Zy!%NnsiU7iC^=6ty4LpIAJ;U7^{e z^HXT(gUd_ui!em~L|+>F5`%E|2Q0FZL^L{>%!+|8lRj#u9A6~Shdg2wOa8McJJGVL z^3b_ja~XiCCSr&Q1w(h07&pb!ngItw@znl+klv`eZU)wW)?vT5Lm#rzpr3h6`*G9ZFU zER{2oESPG5rk(WBOP+i(@FZhp1>oF7o*Mn4&Rhj`{KfmDg!q=)VNF&)=!=aH?Tp#S zn>RcW*J|ovsCrO4Ha1!X;GzqleWQ32EQN3nhww9T7I)HFghdaEYve(bidxNGeZdgW zA>z|kks2a(if6=;rgPj_UD|MM2Vq;J?bBl(;EB0Ce-7Nu359cMl+?V|> z3nDe*?uEgWGFUEqf17BRX%bx-SZ{7 z7zs>B+42n&AahfPDszObwhHOD*Xm?}h_+7-BCPAFv)ZiVpf?x5d8Rmm0OCpE+#7P$ z3jWL$wVIb%q6;KWF1t3%UcAHsX4iJvi>K!xjjJT!Qp=5 zEDRc*I*keP;J^sVjl^{4&T}H6>tog;nH!LIS_Agz6W1uI7(X2!(twCJ24?XMecWlN z)k8%Q8$7zrCm0cXWsRp$uwo*jsRW!-9e&VcM~Nxg+2)l(rP+|v1GoSKQ3GJw7Xwz$ z5O1(v3UQK38JUBCV`eZ|Mrt1#!)T?xik})UPROc^c~Q}YTz~TTIU8gok!-=tH>;!q zQTu|_oC=^8Gl$oCva+Cl%|TT!&y?TZbiuG;L8zj+yLld#c^a?JS39|q9zNe#*SOLp z@mOnayEXv%CW7vvGVvum86ko7N?Jv}i-|AS6-_X1W;CjN{TkzG7|9L1Dm0hz@>Gf! z1@k>kHu8k*uCVl?fl^ibkQ)~Hc1CSMwGd$0^qq}XW0Ani#Kod>_>_m#8X;r1?gqjn zmI%#&d8NT|JZ|bD3YOiQEja4>B;zF7Aq#hlsFXXaYi+0FQ7MpJXQy@fkfJ6-;$Ak?UpXcF zgbczQq<;k7tv+)-iwV3^IUDP;0=BT$j#vy{M(Ti7$Iq>2nw3+muzaorBpJB6gx6?&v9 ziG>l*jpC;>$=+JWU+1XeTBl7O7HgTQ13989QY|$uHqhnm9p}c|#il;ihf^KMGK)>` zECqn>fdd^`$I`B|2MegQ@(Pd%-4$TK#mn;1p1Y|xXs>s3AX-5{EIPb^JBF%Y?=52W zh6Q6EM4rvB=|kG7X#4Y6DTd6E}kj3vKiD$88|#r58bP9 zo>U{zD7vax3xXC4ka)x%{3I*Uh8zH_DJYt|Yrkh;Eoj+z77r(D zJqd9NReDkiDnvdVHlF0=TI5{o0YE8I%taSyKP3^#!36wI600_{)mjv*joXC1-n`oiQX4knizUWCXyc?1;A-0vK{JS?fV{jP27z2x?&BNgQ!?G>(53~8Xpp7A1BrBOU`_kz@*jP)L6<caT7B?HrmD+9ToN^(jj$E*3mIg2ObBMTBy z8c3gijrsO3(}>9rgUP})i7f>wOvQ8#%j3Rw#!!pmBcWu-l#eZ%gj^#P^37k0?}V5L zYGEBs5&Z2+Hc#OFO7Wu{AWI3sa03efv#UizI}4yEAOU4}O`zC=JobUP3I4KumG3u{ zlZWIjRK-I}CGo@JM|}3Ypuivih}T{=Aqah=f`I0d1A+C@Q$W4N=M>2Sm#x=q&k0Oa zMrKojpp~ll=OXdwQ#TTYq|C|2r7&tXaG_wTqkZzZ6V6f0s0AdIqxiKfFW`#AXgFD> zK54hv2kk`nq#@$Ti8nM{)^C`5ljI5&94$C=2f9ExclU>FcJ%ELIOo@8feW?%rb=IQbkMOc-=?n{sZZp#mDOdtQ?e zz^NUmWIrltFJN)Gnv$>CK!~>B7Oy#%E3kJ0l=WqF*g~7?tu?ji_IB`HmP^Oxfs7eL zVYvU}hYUL=Q5BAQClFp? zHWE!PgMCel%J;cmKMN=6MC8m57^2cp45|p!Glj*J8Xl;R)ah|&L#%~@^Kz6x!1Sh# zB^6%5VgS6`!~jORwQ+;m3bQJhwhb0HyzNW1n(^BfF({lq3@{fNFKvOu&YOCbX;70_ z$`#gPI;Cwp38P)BEe5I(4aBV2fHZeb;)x87i<%$u(MLKJe>_jC?|~*UojTWU#o>0QFj4Wp|$agON>BWryE#kq!Nl9#AL19ii2tjPicBs zQlciK6&fBYVTG6o73)C{SE{FS_HSL6HNTG|nK$#2b{2rMgZNN{yDy+a$SgUTfqQYg zd;!ZrI7LWB%);|7i2JrVs~bD#bLEz{P3VY}wtN{EYT)r=5*O=0A)n$%S~O6MW=lkf zRIom?Zo)%-PmmI`c+1AEtY!jv^^zR`>z9lG=kvMgKo`XqEyZTn(7SLm7F89V)gjQB zJkibiEO%It%^%oLoDbZ(xOPv@Syk%`NLA!pF8Gq|~&hhV(BRHuQ*7vcCZFN47MUv&(lp8K&w&?`?&{R zOIQ%8zyZ&tPSm?a5dE?fCQA-ZikN@H;E{_nq|f#;p1&`lZ;28}zGqhf_evLQarmDqjW=EgU8j?vJ0%xFPq|-FJ6c(o`oxp zUuJ@~iD&@Bn{g#pUJXou(c8H1wM}aJqZwvTm4LSP0A)|m=^Y(Jd(Rl6_hSek)eiZ} z_;cpLBuY+(FE&?PC7b4+MFSg>e zS+wmd`lN{IEQVV2t3N@@JBp*IAHdea8|JJTbF5DXSwzeD^odB406J}+SH+4I(yu^! z_$axU$s$Ts>(`cPe7~NtfQ?fJq?{mY1K=RphLG)dVmETR0i=PSMQjuOxvz+>-a+wY z2kwQ1td){b-ohrsQPhju5PiNEx_5LTSnYtMV{K34^tq!TqOQd-F~~Ch#CKo#m_-67 zmXdMCvQ?i$ZPmgyABe)XTn(;hfHr#YyB^kfDppM=&}?bMj@9$oPP@%Xp>7#U&;*)5 zGXSK^cF>Zt*T9pHU~;a*+JeR=q3Y!;P`^v8S&sv?is}H%|Hn(PUH^C(+skz z)`E6_VT)#!?-Mz?{Mb?E$D)spl~rp(cxSm9a_-IwT~;L^X!F#;KKweZC|6m3NJ{+V zg`te(XzWLeCYC_Rlu#$ZhJ`9LzH{cg(sJXYT58nL(K>590ShD!tZGz$b>n%sIsyKe4X_l`^B?Hv#L1KGsdmy$(^+IrouW5Nk_PlCjueP*zZ0zac zF3n6r^fp`gwTDivV@=df&KcJLgPn-q+jsZX_S&UU05a-ZkffG&XwzH`!Tg zP`Yxhi^5OL&_`s%;xF}WIJ^;oJ$Ppa0COu0%7q;cX0G7?yqIRc*;g>8ndZxJscZ=; z3LUgaBsiwuq)BC1iJEZ}0_dYS{OKE9Kh~PnRk^>h(BSV}>rMG`*rxNif6d>q`j;8*9Mq+jPf*yEV%_DSo{G zo{Kbw2M=|ZMUu6IABX2P=bBPgpumz|vF4g}foB3B z|8aXis(V+e+?pCw5b+8_D;Fn$Il5CuBPN1Mq*Kv8Z0N$ol!%Rv z9gW5~<}*IZn9*o7iP+g#52GbF7lGzL28Klnegp7|6NB#*x9x$OW!lSk7t56-C?hzn z1FIzzV8eLL2rzD_mEO$_i#$gsa5zyXP|iT~-%TOS-N&edn`l-#I!Q-;tlPv0vwD`% zsfw5ASNyz8Lm#fm(7l0ObeOd9>rGO~8-3%3tQua;G{v6b)k<4go|Ery@(7>yi?51?^3NlI1!fRJdp@-{a;L?N}^~{4~B`pwa z{lzy?5H)~V231-d>opvmq$R{cIgA6(f}QnMd=Qxt<_sHyN%bsW56u%3CqN5u`r4WZ z1uzZGI*?#nvVJ%=?R~F5uLNNMVWVQ@a;d*C36_8xNIHlstWj6_8 zEktHu){4h5k@LvPg=jm+D>ItSZ8^N@3W@~hO45{Rlr*uWn#ZN^ikmTQZMzCkPyeY( zt8{q@uT!9ijOCq)PQzJmGpH40hMJ9vHI#TO)~oNgl6P8oSVq6WA3mpOvGIyNj=vh^pkPrXaa+dA7tFIia{SJ8 zZV|j-lyW3sElBt{S@O9^*;x>PzHCmuKCqr-H{ zdqUI}vb!pPErB4+5EA&jY#$>7jIax#FX);GRz{FX0;wa|$Lc`z;U#0h#ij#vN&R8Q zf>9IOo!qLyJD|OtfDLJ_napC7uv?w6meczfZ`AQCH-JwNnUV+%nxeQcYvS2nYn&~+ z&aP7k?_FdB&~B6};L=}znvnbr?J2WfKt8?h+Co^gRuK?Jxe2K`VZbX*oDSAm!wbaAdxsmAFuwF1&fP4t9~R>zbF zy;f*eCB7+G%|L4+J?W#}u8D#a>WVH2c&^lIioVT~ z{Q2ryv!Vg{6g+QjRW;V``DqLrUCJfpl!v}4(4YAfZGgiJGgMo@smOuRkm(q4*`U;XbtSWpvVP0#_x21kK%hn*k2JhjOE6G zR)>Y@+2FFUY<8F074!lxx~vBT$vzH6h)WpS-2r zzk-XSltOmAi(E*|q3b3+1n(NKKX&|CHV@7lRhE+Y6%B;i!lwj5whZ30>+XF)X#NsZF497kt<(B)@!WgZyR2MD*>V z$~u`*t?MmOyfPD|RrHEv=y*{`MA;G;U$lncLj}w4*H&4RsxsI0;^9OsF|HvUz<~$lGV#A4Fe>I!8 zkf+Kd9x4BrrN*wL5aMe4DSV>uNFM<;q%s#_j8gbLe(R(Dv|I zkbU*WF!^y?RnEE6c56eQ+eX{hgu}})f%8jRHz#8z+^^IL-iE62sHseqE_JL2EC{;FnfYOP%-(N@QVpo2!pss zO_n3(jWu{9mb_ws%amrI)cpnUU6P!u5MvtrPeB2(bP>cT1GWgiE8uSfeg@L4QrhZn zHz!WN0ikVhEAnm|eyd9Ds{p0UB8UaeaZa~}#bGK~&buhZWeTlBZZ%4w z3QrwySRYOg%aXf4E1d>lupG9HSLNyMv`}#@^MRDquf?0R9$_q zu2=&StWzZ-N^&JtJWV9muhbPHAls~KrfFJ4kRer6=i+qrJMxqgS8YUHa){_1&?WBz zw+e3s9zkJew-OCmP~-4kOr20yd2o4XECUt^Zyul~q#shlMru^4U1cY4b*KpCi79R! zLT8D%Y7n+eIjO^SNndw-5r#$HbjA!p>LAxRf_S=YMH*t5t~!|CDs)$#%DP4=s=d1Y zXP_mHg6~14_Lm_3!%)|GwV);;zoMFhlB%I1)t1v)#dh6WQr`w)1qfYKk3;-PAh9`! z!?jnp%u_ka(wj9%3Hz2v@xmgtcbkTo9yBh=FB7x|zE&cY5hA~;ywQLmm5h;V&Lq-| zDOaSC6~b>`vQglhA~Fu%eSjdMq&OBxQ zcu^=|%VKx@H|L28;!Ve|Em>$N$WErrSw|!dx3nX~3!Bgm7ctj$Ki2{fbAxIcyw*8i zeRneJ28~(#tx+Z+u=>}$81M2+F_TK6Vz>$q*A7jpp~y^nG92+_E9uofu8Z^a46jM(z7@{uBk>q0stL~^3$UCG~(=3(SBwZV~wr)$j z8KxT~)>RTH^n|SLaM_IC{tcO2)%}~t(LzK(lRYzVQ+fcRjbKae}q;l z^~98H*G)X$%TkiNfB^3zBD_o8W_)jiM~~{eKpMGAtVVX)+`~~}p$?wL~;u_cmqfWt;bsNHJUyU#r;@{0*Qu3QKd7t!d`4NJm4#t!w$RLlx(emQ{1#J3bSUGb@SP=aH&Y|BX2f`* z^+)sqz^)l8lA^yT;0DU(iYpY-;Av&!XC5ceZSSmg1ouIiSWPl3EBo6DGkb0l74rDd zEge&HYRXM7jA9zxQzp$=C6y{zhKn+G({JbiL^WvzMq|4SEU zGmzJy6R(|1ccRmR?O+WVz%OHc9;^ZU%^9tknHe4 zS@m4~*c6G$!8frjvvYh|?e~uCG`=ZKwrg5B8zlqdB1*ND+C8IqL#<3>SRE|TbcZQS z%HD^w$jRTR+{=PrdZ?(4ZAE1@9pAhT+&tH0Cnnc%n$^0Uo6hrP62m{;ygc6&f*4v6 zVw_jJ%clOR-5Oy@qD+&7)q3eScv|2EqrZ;VlY^`CbK|bbbW-u;E?HMU@k;Z*fz`sm zBu&4x)EZ(rZ&lVou$a4Wp32pDZS+D-oBB7UXX`e<0!`wtsV=C06w)AlC-?%=>#9cz zqRWjG?^Z8LuLtVQYJ@b}z8!$pm$2>%bH1bkM{A<4Zd@U%g7H0aPKOaI&h@%@3)EAcZ>oe={}qD0CYBS0^>EMP7Ojl>7uiPXIgy@EAZB zDD)Wk-b}vZSkm5iKw8jf;D+Kh#I1-sF7AxDWpVEn_o%pI;vN(CxVR_8y-(be;+_)s zG`hRE9FlrB5{oej$ZN5W=LfxaT~$^sahZtElI(qk0px?TE_t8*h8iUj24?JH4G^O0|-;eyWl{t6R)U`bqUqx-?mmzS_-sOw-B% zWChyazM?`ZJ8BeNn}%;(i&vMi$*BXq^wudqb&gp!ny@U>B%p0Bl6hKP=e_X$y(ZZk1L_ZwK~Pr9w6@_f?^%y0n>Akhnrlm8OqnVcwBRSzY~~(>rQ!kom}$=idoft+z&EaJ7gJ$$}2w zc&BGM#RH4?>9*e6yPNmyuD&n=ZM7s^^KE4Rpy}^2)%c7n8ye!QlgvZ`hB72uPppybo(}LLEi~~I_0))Ov zrS5;_+aBsfa^{*B(FZX&Cly85y6DVl$i2Dj#Oa2Rs~wU54n=km9g%wI@0riDvoD}LMV8Yh5K<|)G6I{qkCn_*YT|oNVRwzZHlI# zmgk{e(aPv;K;9v3f4d4qMgy(XwM)L(X9>r#XM5hMTh;+v&3n! z?6ZzmMIG~FAvb+H^`oEK*6)Nemu>OR!7a<$dmpscF{SQK*L@_j?&?i967w|hwKu`< zDW#6yNPLEm0Z)u?uq-qZx^a%5pmBeh!qpqM9vdvz$;^KDR-1ob%--{4VWtMy#d4}$ z)?b9#-$Lx00O~rAA-in|wV$McEoA+tjDH5})r&EYiF;gJ8-EP=f%ZQJBUs&{@%O_2 zV~{KIjz{U2-@OmwBUfR5;>SPb$3L`r*aFtudG{#QJ^S5c7`@xi;U|HI_^p)2oHDV& zw=Wqs3hC<}5NNL-=P1tc(njPzWxrF}y$6)-

Nj=@!vUk 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%0DWtl+Xxm@=*F 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

GuBD^4Vd}#B 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%0DB=f)y%JTgj_eKI* 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 z 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�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
py=nK}~1kf;0RMcJ^d;+YzBf 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 z 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 Vvf7Ci^GkD}U2nWqfja!Z3dJrXL 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�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
dmdfES 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 -eHj-l-E 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

Q+XmzYtH%dyBoPZi7>Cs?}y?X5g!3Alov8 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%0A26}qRGc2fvf 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

_hEb?Y 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

rTZvNQqQRV2Y))K>QUid@}?mzQ-lW@lT{y;i;|} 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%0DpA^M$q}C5uNv?PH`$m68Q>82Jb%bk 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

L;wcb|Iux@(9bdZ;|{p@C+dyZ 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 z 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 z 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

S)z#9*(=bysl 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

C9#RnXr#sOO5-LA?N++khIQA}E;wy*EZ%K(=~K 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%0DyWRXJIyGLArK{7ZVshkZXe%GvzCQ9MB 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%0ANqnyA{@&GX&$UfFzALDg=JjP&w1w;c{ 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

xh47`Ea6)}9 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

QH`N8RtV;$*ZKV1LtcBF&BM0*JZK;+}OIl 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 O7_J4pu(i{Fr-47?OD|FY literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.3.9.0/lib/monoandroid/nunit.framework.xml b/.Net/packages/NUnit.3.9.0/lib/monoandroid/nunit.framework.xml new file mode 100644 index 0000000..4b2e5bb --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/lib/monoandroid/nunit.framework.xml @@ -0,0 +1,18594 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the 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 synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the 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. + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + 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 . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that 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 + + + + 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 + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + 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. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + 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 names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + 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. + + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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 + + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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. + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + 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 + + + + 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 + + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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. + + + + + 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 + + + + + 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. + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 fixtures 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. + + + + + 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. + + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + 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. + + + + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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 the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + 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 + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + 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 properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single 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 type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build 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 explicitly. 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 explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which is the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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 + + + + + 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. + + + + 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. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + 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 + + + + 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. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + 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. + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + 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 + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be 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 arguments 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. + + + + 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. + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + 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. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 deriving from MemberInfo + + + + 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 deriving from MemberInfo + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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. + + + + Specifies flags that control binding and the way in which the search for members + and types is conducted by reflection. + + + + + Specifies no binding flag. + + + + + Specifies that only members declared at the level of the supplied type's hierarchy + should be considered. Inherited members are not considered. + + + + + Specifies that instance members are to be included in the search. + + + + + Specifies that static members are to be included in the search. + + + + + Specifies that public members are to be included in the search. + + + + + Specifies that non-public members are to be included in the search. + + + + + Specifies that public and protected static members up the hierarchy should be + returned. Private static members in inherited classes are not returned. Static + members include fields, methods, events, and properties. Nested types are not + returned. + + + + + A MarshalByRefObject that lives forever + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class allows direct calls on Type on + those platforms that would normally require use of + GetTypeInfo(). + + + + + Returns an array of generic arguments for the give type + + + + + + + Gets the constructor with the given parameter types + + + + + + + + Gets the constructors for a type + + + + + + + + + + + + + + + + + + + + + + + Gets declared or inherited interfaces on this type + + + + + + + Gets the member on a given type by name. BindingFlags ARE IGNORED. + + + + + + + + + Gets all members on a given type. BindingFlags ARE IGNORED. + + + + + + + + Gets field of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets public methods on the given type + + + + + + + Gets methods on a type + + + + + + + + Extensions to the various MemberInfo derived classes + + + + + Returns the get method for the given property + + + + + + + + Returns an array of custom attributes of the specified type applied to this member + + + + + Returns an array of custom attributes of the specified type applied to this parameter + + + + + Returns an array of custom attributes of the specified type applied to this assembly + + + + + Extensions for Assembly that are not available in .NET Standard + + + + + DNX does not have a version of GetCustomAttributes on Assembly that takes an inherit + parameter since it doesn't make sense on Assemblies. This version just ignores the + inherit parameter. + + The assembly + The type of attribute you are looking for + Ignored + + + + + Gets the types in a given assembly + + + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + A shim of the .NET interface for platforms that do not support it. + Used to indicate that a control can be the target of a callback event on the server. + + + + + Processes a callback event that targets a control. + + + + + + Returns the results of a callback event that targets a control. + + + + + diff --git a/.Net/packages/NUnit.3.9.0/lib/net20/NUnit.System.Linq.dll b/.Net/packages/NUnit.3.9.0/lib/net20/NUnit.System.Linq.dll new file mode 100644 index 0000000000000000000000000000000000000000..57e58f69e1046b069e30beef5acc99f6fe97fe04 GIT binary patch literal 95232 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 k-H(zSMa{fYxduC@P5qO{P{l4e_*JJNg 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


l$K)VAH@Zvr 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%0A$T*_Tz+)n!7-Kc z1t%<+o_kIOl&@~07y6h4A?7da8qX#~g&l?DL^1;0CtudLR$52m20A-UE-LZV$|}~+(X)nz%G&4IVm3$!HEn=&jY+ug#=i7W1#)QCjH;ccbmP-KTrXo3jTb&Z|fb4Bbcxmq%7KWuZ9S@N!sRHzt}w53pE?e3qK=q01b& z^CNUit!CU$&J6g3z^BrL1F;kmHVnlWJi?el&u=As9QvBhB@f{$_0zom1+g%9rZWWh zdGo1_&_^96S!XOBtiY#zHlWywzhx8J@h@GUXw*q*AqHt6LLG{+SFp}b6*I*9eU(u9uRCx!_WVE zr%rn=lKV5fxitLszuBqqC&Tr`&ny0a?9|7P7F!9@Z}FU@f68O^V=iaw%hm`hG= zT*v7($D`vcoj0S4YnVHCD>R=qw>*7$0PMM5fuiq`)e+>xYE6wx(r^vdQnLWM&tSqC z5Z2?MOP7YsQz{gq$cpotp0v@1<<%@&Qz(JV|M#5M@p*1oh>ZhBwK~?(N6@h^rNfc! zHuBgjx!{Oe&b3ZU=~vWzP7#>RH7VQdeuN64J=#S;J)y9>w@vssv-l}x7az`ovw;!W zIW;w+0Ei9#GN9n05GXo^&%`_HyR!bphVL~mH+=jQ4+)VFP7?y|nK}N;!|}o64`Vai zi{jSJPycLSDjM3SGu%3}1sC`}-IzD6EyY|rrm{LE^2=eOl@QG5_UH%KDw|MkrjwcN z%m!OK(S?<+WEf@pLck54U791*7h4^^7zp!GRlXDe4n}OprLKq2p_%j`dEC=VN{ps8 z-46J`8u#u{&p^+%Q)@ZdnjncIK4R-4-hR{)vs0Yr5Zq4Nbu z^s>3?ijX0;95YyQ;CQnjMxh6NiOX{~%)oM^%v$EWz2+6vn->jmmmJA;s16w+^AYpA z8p^mK&R4=mvo9boOE>JQ{W6oeLudf?8}tSx{!JfUBe5|*KBa<@R6KZooX42y3OKGKqxD<_EbvCUTdAuMIl;9C=^?GUZw zcB>)G^9!%IaG7)0^I;@zsWzv^1w@#0kKjj3Bh+N`Zofxkaw{KLpulDU=GG{!W94&d zEZ&L3-xVE;E(Y-GSeu`o+2*}QX>O5SaXSlV#|9kIGy>5yqMXr(p6KKbS0gqk#TifX zfSmrhMc~Jdn!OwFMY|0XZ?46Y&e(5}rf1UOY%MtLg`r!FtD9iX`9^7&e;F9{-CRVJ z8xv-Q>fCXf(hynNE`gsSG~f#%99IR*h>sfRP$6;T%zmrOS_YE7&D*Yo!>8ZB2bTp` z(Dv`%FG!dt;CVk_^gX#`#A83l+`i6dAHBfd-%+lAn+Mr-R7J#8$>Dh#MyH$ za=4KK-g}tuqnyG0o7-mw9`IXSDQ=*8-~dl|*(57-PO4`}S z@3#~5BFk43dh&lr2Kvn9AUu(>YL`3U$}J37@_@jF2IRaLwgE@E2BI zKF`gXnb(GWrxVjE1GNrCzqrkz1_Yh!MUV5oZJ@ zzd2!Yo!njfr0~H1OT`v<>B(uwk}l=6U;Dp9Hfs8R=GI@X-j{Sa`AZ?w7tdJ>nl2Ps z=(@$8CDuuoY~lRR}^RL^mH?y{%KDn%++Pn}uNQ@!Y^Bl<%RXaxl{ zzom;;{?P%>uihCg=oOrn{6hn|=lZvB+%qS|Kb2{9kH zyL=p}Biy!tdj#bCc?76pSaUpt= z(d4BN+)>0gpX~RwlSYTBRitCzTXKwwZ3vtlSTEJ{kub?<+(*%wxC6=k%3H7vIC zK1-8@w`is=SFfQCwP0v3)$D_aMyK$<5Ue$S8X$FHE=jmv=eF-`Hw>ET%P)6D?7M!u zyipjAMqQeIoS}8TT50l3&$oLhb9OksXM*Bv~oX| z=K3arbCpy5Eam57{(1XwA)FR^wkK)+J2BDB#z;a^g(1w8m`eMh@_g&6r+rVqb=8zA z;@R!mRN*1gI3OOay@<$^paGiIiYwBXABQ4KZgDGuUCGY2(-1yBW`<03DyGvkQ?Nly z&U{W@;fB^;Kv3!}Ps)65OtmnA+RqC&qcb8IVsWzsZ28oq0uf7GhG5LTW)czY-=XxV zD4fV3R)_|X%rR2#NkXztgqIWlVBS}U5tAwT(T435skfO51S0i)E9R_S5zJI7tX|V2 zW^pX3QfsK3PlB~pMKb#s-1h>0IKt?rrj-8u?IOZ42&uPJ%^H!fEAg{6e|l_-O0pi7 z5A){Bm%87u?=7UqXlE{r!ph6H!GTu{>3HyUnfl}+UO2KNQCMINN=1FRG)Z^AQ@Mm0 zwyuG{%}UP0d?#u@R-5D9cu8C-k{CM zZ-8W+kv@-;A~RBTP129kI>)n6*ew|=S#dQA(k~=IZ!Cnp=S+{wQ>nW7F~kB1HR$G7 zX3lPLHIg>D^F0?C)RuOg!-J9Ty?`AS&t4~!dqQ6&(f2U)=Bo`TfAAfpB7O-xdht6g zEE0F91o({ysU0uejc=|QdK#QFZ<`=yQ4H+cRm!kmsm3XXX%Sxf?cbzn1SriR))0oM z2Hc~+W&(IRLeNTd5sJUz-gVBMQKyH|m>Li(r0Z<1+izaxZxjor5LlJ@jvY({!KL@Y z1dq4c-h%ch1)Zj%84Gft zWOy5rKtAAIga04a|MVr>m2wg_23*_*0~5K zFO1L^-(GM|+@W?LSWu`XyEenHjSkrt4>k%qB#k(FVJdOqC=6&Mj!QK64N6AnCrsc( zmk%>X8nNPwCp3*aZlZ)mUx1Liz@m6zhlC{A^XZjlwA>uuypp`aA|-?Us}Kze4!(ZM&gSY zbKyYl5w$G#_OBDrFHpykAc&yCIPUZ`B~U?;q_myHT7QR8 z05UJdMS2B*dU5ucrP!yev%6-i+1`HhoW|Kqp+Psg@C-L^vas`0dSspr-Q0kin z3kYV)5n7?GJl>+_ABCAw{<_xo?-FEB=(A<8vl;6%^69H7e{SkuYrwp;Iqd@>ZYlkN z@QyUMJpM(uEDs&KQ&A3mb|ulBZ%0`)@;jdt7|uY z_yxil<88`m8|yWgQ&=Ul)N09Vt2g354~UwYrDj`hTixqWG*J0vYR|}TtA7n!pYX#h zJ-6hw)e}_jQ?o6%t*-pi^5yHPZM&=QvKcz4{#`-9WpHwMFy^q7_m5$@8Ne-BFoj9r zio%cY;}r0%HBwPoSl|q~@;en;;WZQM0Ah%=kk+AZP@fLf6*m?i6N5-#RVn*%d-MUtTL#T0f!~`+y=AmZtDxFFZgGF# z?LQ`7_N6ur+SPri{7(^SY1Q-qLAv;l22$%_{v$zF2!Hp9AAjPBkw4n>j|SdZJa*!x zdqao5Alq5WWb$2l49z20;E}cXXY4uNt%PEw+C8sW%FGQ)%km7x%2#uxta6^stC_4y zWe4Zd;&5(WvGTl%^8SY2oux20(8^HdU;FFN@|IPsZ6)x0Mgi?zCB@Z|stxmc-d@MI zX7Y;Z)#I;TfA#sR+g~|<4fw0yUtRv{R5z+VRL#VWx5SPKRDVyyIF|%!7h{>Tv5W=2 zAt*1!6bpPmQ>nqzo znCZAS3|=dgT^o9Og+*&I+pS?{@`L%bqMEd<c2h zTJ90C{=O=n%g!ClWWnb1nQO&3N>u+{y()c<>0{QqLx(^eUXoKK+No_BDb`<5Lnrga z>JN&wNXuK4E#j`fslTMlT4WDTv0ROyAUqZF`Rj6h-eUbnYD{uqxLE(u$nZ!ZUno|- zRot00QvZ>Vq@j!yMmmbQE_M8l{rzRJ@-ulzry=LdwjfdNJO`}6sJMf&@V2eLNmTf_<-nw)B$mOzTNTFWoY4T^3c zqkLWu<;K5fM}}4S*?eAa!{1*CcqPz?$+>)Q=n!B^csAdc>&hGZDA#9G5*-9cl=G6* z<|V1^SjlvY_f%F*3{y`y%X!vgUHW9}V}+0A;34Gkn+=MDoMF;u9o!kz`6g7CpO@=a zgYC5G{rzw-mn&A6=2caghPItRB~Ss-h|!#w(V^zi7j zc@#HwWW@ZrQYSA(MW`db(PWJXHJHQ0=dVYCi|uVs*8(@Hq*R z;m%w(4^26#7pp&Z?l1Hi-Tly}Oj1t*fq9oiLs(|5Q&Esn_i%PF*HNtQoHtY*7v^5n zUm|#pzlbqGGBPyDri1FvLNQ81mCol2J^2pEQ%|r0YVw7_TxX$R)0I3wf*y8B9N#Kn z?M4QG_r8yOq|2mF(Y8q9_zwyKt2zZ!x;9Z5RhW}pETFOT`JfI(WceHc{Rb&o%OI@s zsv!aztvY&ylj=)`=i@&zO0Diq^g?xS_G;+`0pn_6hIXj#m0~rGVOh{hM;`rEto%^# z4r5F2#X8K-jr?J^|7O4SoM-vN=*r@734(eJYizq&K;nD1c9^Z8Pj zRBk@oCEY0c^*{C32)oEL+U|zHWovW^t9pv}dPchPdiD9MmshTn)|c$%Ek#xR+K9BDG7wigJB1XLl{r|fbWI%OHe+;1hwzBJ2EAUd%{dd&;0*USVrJ?$JL-lthUqgcBBQogw;r?vsb6T6OSq~2j9FPEw_92DXCxb{uXd=q|IHWMVTi?&ugZGm zf3UCr#99JY=vS@p(5XRx=|iH51kJG}!EJI3hzv9!e`c<*qk=|v^_MhU#S$@7e`yG+ ze>y@BKs^xfH->7`#o`PRkW*m^?ox*S`f{DhRsfoiS{3dK&{T)aldN(~;U9lDr!VYF z@l~;Xq(%}dE72E(aK;qIIR;a^QMFYqh!e5PWRKW{EtJC0jGYrtCDZUmvHnKZk*ZJx z`wgUp2KC`wkEpd+n=ICZV;}G(Wi$==Qjd_Tshb=HDpYC)zipsgC&?c3e?|_+DYJIB({ci zFy9zR#EU0u#ErqJ5rhhp=Ct^RTUf?I5*I_&KZeVv`xVG`FPN7bP=^jlb!QgaMe3m^ z*Co2$nID##bOTCYX6H$h=q;VFmm1QYVl7!}ky#t7ie!LQ2j29H=5ts>x?reyFOKkh z!Wri^9)X-de4cEm(gIMW@+H)kVjD>td@HW*l#w;M_#A4Xy17TRqZfv?uvz_y=)%}f z!fixG>U@cs+SX$2;D2c0nqo zSUcl?aT)f9T8u#rwKEM!YnQS<)*9=0NrT#jURH~Ui`u0$Xre)5uSFT5fY_w|Qwf=C zSWOybEJ@z0GzDiQ8_yV(Lo=(cMkMWs9J{1gUoujh9L)1CR&HbhpP0|=QOBu{F8}aoV*cIJEK2uyv~ReQ_dm=rav3SjrLr`Y)qH@kCf>W zDb=6(A1PG{e6#gyFCc#^e}c8C7jm=u<2*L5jIGMvga0iZnftQdwv#SR$Cwj0Vp`&HF(a&r!hv!1pABrgxXdN{@T_A1?0`oL5xO`$wM*y0Yr5b8l|?Sa80f^Spp8Lw3eYs?V>=;L++iul2jw$zga$V&WZ{Ny>glM%D6M(JG*hn+g;wf2owjZ{kbHZ`ne4 z7;DIi!cegUSgpTe&zEm*;1)Lzpu8ftk)!{WWK>&(r8rNo#JPFJkiD*{h*@v-mkni` zZpaNXnoR|ei6zHB)=NzW<3LV2wEmnt1gvE7n`j8_>dPE8# z$#S4HbaQi{!{yRoaNoTu!R)X)_%02o(6^ZH=_iJLHVMfWIB%%dWvPm*i1M_sC67fe zc`R~!8l^rI(Ur^?Zaz&JW3E2~j_Yr`U5P*%HYv8#6D<66u_n`Hz{Tnqil;V!wOZ>z z71oAmXEGEMuw)k|GlBLITzHXzNh=mJ3_(mySo#)K)j)l-J>{1VL-l*F&0!VL-t<$k zo%oj8b~CqjHJ%`?%C$Bt*m4Qi6FN@T>$O@5W`&aJN!hN~X7Hyg6^vw6JBtspH!axR zo23G4Ea4lC&s@}iM(#42IbqFc0obdVLs*mcg zd=+y3maP(exwF1l9gKEM&Nn7^~$k$@caR)pu$JrCnBA178z(Hd+m(a*}br zVB@sOJVgVQlTu5T<^!F4%cHo~i&JLUi1VgTOS8y~H0GN=t#~6moEyM>_SHmJTc+&o zyyULPTB|6zh=9MkQ?=06PVfx-Y%=_pnHs5c5z^?jO zihf||06Enm`E<1&uCDjjkPl>N>J^h&Rp#Fu7}Mvi&VUV~L5FJVLJG)g0m7&+Dv9^o zdW+t&{kiU;>38)fcV~}QA98Av@>BiE>Di~0UO7NBDqzo_!lBrtxo#<6Vb$^ZA(`DG zOH;HYNoO(v7$KEv;-UV_g50LaJW3U0iVNYlvUJsa^_Dv38vD#;DV6O{sGIg>k~5E} zaGQlfzJuwIcM>xUq*r(1%n(Pb>HsUK{$VYhiM2HmzqvI`+AyYFrtY@z~ozrmYKSAmBv2#mb1c?*0u6>2-&6(BrX!Zn7ZVC z5FCA8bn-3L(qB?Q0ij`Xlm4>Z9fe#kUNmXu4msFuucD(v&K>q2hUz$XMAEW}BqM4@ z(8#TGqF5s-ONyiTnMfJX<%b9zh~s*fECaEJ8>#Xu#en!G58q%om;qa@DyF_p+|r<0 zlSsCQWrSLbz`g(hNdf39t%11BZW@wq8s3cQ^hK6AizQT>X zP|`s{w!@Xh+IT+GA!mVxxKaHp{tdk(CfXsk7@XF|2^i3a+3`` zmXl+GbaVe%S)4ev&+s>S%IhUeswK@(?Oy$f{yl@0b#+L89yRT_muGcxDc5Hk0_;-h z&kN+`1Ua!>fa{NCmKjhY1I-r`5u&PwD19fb0DoMU>z7K>-$>U;SF!dv{q+hAvU>BVTG4ZLb*|Kr zmt&ME!13hy{qnFr=D~=2+g8fkGzjlk#ZJ*rv?$Sr_z@)Rc8C;qYOi^ydP?h(B!V-= zMt-f>=%lo%rbLooK1T%#jnMGIK@kG>wTy?nn*23M{@#JmIaHTBd8l3;s!st({UlB&Elnz~7I&`5u^f;SL<5n%Q@hQP zEz62#BTEjrH_0#7I)l#11F3UB9B6I^8>G?1sg zgHF-XS5?SX*xK2Qu7Uam1Gt94QJnU*_9C-fwL@-cx5=&;&?;H>1dHXOAOXqsFKV@H z7MfG)^cS^Fi&?|07*%VrRGi+YC+NqpJk;Y0CZ)!ted3TLcV9k_>!^{VQtFB7c^+6d zgnM&ZOv~cbf0`1jn;%gWiT{16`J_F|Hb$Z6eX`)2nzpH$exgerzL5^hz)4$Q`69yB z720N)o2F-Ffmh~=nf`q`IZdc54lo0~4* zc=IjBe7yQ`)0N$EyK1(JY#-XLVa&Ya^AS!6zyGbOCGA7-L$0&meHo5;o$cz&^7qS} z?Osf$l&gqJGuat5lbu2F&Wxg!e-%$vauhV)1}DLrKh@p*9f|nGf%LxMvQYhJ z@oUuSC*5Zo1HHv_*?tT*j=j0x^r|VhJN&Th!-9%?BoPOUn@d4{e0S!-Rj$AJHy3>@ zGmq9XWzl*c9W&>!nNuQ_9ut)!KloaW9{}fIxqqCF>xmrue%S5@ zz+wKIMJ^v=3(d3>FC50aUyPRdx>GA>&GsRX*`S=sW6%Vteggz9u zD71J8pBoHZ5lvH@YrG#n`=!*h^HLE?zhb~Wz4)tHj3r|9%17TiUSt|G>9VnP z&LZ{k6*ZR#-1MRTve1di(Wy0F_!3_-*ewBpqIlQ<{T+$P{VIm`eN2^67e^&>j_F#- zlls)xSooAa+_XU#e(un>DmI0`qi^AD(G{?}byaAqepqaq6x0q~Ji1SJ**~kFE%>~? zO)#oYbgk4)_|;*JKIFAdpX+)sbY89gE8i`t;=Sq)Y4(6%n|X(b)J2VZKiuJZDv9~e zGd!h^z{3HhbL-tN{6YhMXJ{;;7q5w7!R<-7qcw*MoM?d7)R{(7bN*t3x$>WtH0bmL zAP(_1Lu%{&rKj3%a5djF;#w&ZgBni>h3U^)I<&OPoq8yl`5QC zb<;W^8UM5Ya#jl4pul3@`;>d{~QDHTR5<}tm8i3ZAI&}suG%rxy zljKf=U+?$jJ~5_|xMiD?Aghe_(K>>$&{M6vCrIh0237O7*31Wl#AhwMOco0h!d2e% zQ)??Wt78ga6q3!jVKT1p$1l0~71sEztjLh-SQiNkw$9i1pIDeXV9`{3bydv`4< z-B&(L*;`jETh9MWO1B@~H*xfE`PKvFqZ5b6_bn-HJ-Tb(-raYWpWJcq(ei;?cdcDJ zzIylSHKXfSt|~8Iw|;SUM|RHkClBm?6l-s4B@)wqC!<~d8;c`U9jB57Q`bw&hmIokExeCyN4>1M4!?_M}M_1@g|R- z@>r-_r|gMw4NFH=`*{rNaePZhx31K5>y(>f_1C+)*=bR*@->RwNRj7wyr4&Qj0b&G zH=9eHJEN*wJw?)KJ?cEPAFU9zDnI11D_|dgQPJvtZnWBHxOPFxQL4X9V|HnQ*z=_8 zR>9Em^Q7C&10~fud6c*|YvcXv5M884)rRps!_ql>lBN4i%FoB*IuEY)?MyOB z?0ePE(=RxzU8I>G6FL)fYnK|K3uJ8N@kKrAJ7Swwt@eu2s((pSuTg~Qty80ZCh4*E zI_X>Vm@W~zq(}8auur>{BlT6m6usbxV zVR{3TZ^h7wTPG4%qN1=QnjX1jZ`-QC&lE@BsWybUI`)vQx|**OH8 zu5OSIOw*vU`a^Ixs8H=?9`EW=U&SNO<0?I-*AZd>)3*>>uE!)b>VP->0HH4m_~eYM zqLr@-DLv5q^dkz<()6Cb?vci>9SIdZYFF!_Q&a-sltR@}aNt{5F=R72$vA7H*=}7I z?^EyuJy*^W+Lw%!-Sjj#tgPcZcvN&cM|)1(5aK?a1+zMip{;pc8TS(y7UcGha@kj( zlZ4orX0J?VCmT1w`vNybzpc|L)vRr%SAIXQjVKNUyc$p5>)3TwVY_99jI?Vg?4Rmp zv(DYs&q@vtmi%x4`@nWyRQu9wsQc?it|)R0eFt#~>nq?00?U_-kh8j-ASA??X8>WEVKMEo>0*y3$6=n; zwNzEKqB$LzAgDVJ>WRvZ6D4%%!tH=1bXbT4lPH!dG&Z8T52$TN?n?yrAA1!Q$Rue0 z*@Ei2Lzit-La5FtxkHCXx!$QyHxzUeNf@vbe;S+i2|JsjDkba#oAUatWkMuVPh(Ru zRV<`rx*S#_Q1Dg~@acfM!>9dVMSFUZsJ5vU?bS&vgTA+yXkT9v?dzjUKkcL>An^#L z3=a%hho2Pf?@ucA_Zys5-8Jb-Dk-Et-JsUF8BVKMvZ&P}V8f9mlqv_T3^dA;(xVhd zJ!QG_?eld~A)l|4WH3Z3_Yh%#M0$xZJR*HW7#y`U5}MH~$?YdM8HM(myEQcBI3g=w zQ_yi+`I=4Z$@IXWv{8zp7^G{rcM;ZwZ-by z#VR0hj`C_9ITh2OC7>lQ{{6sO)0xGDqG#i_5`Yw}%x{nQil z{^}p5@5u|X@5u`Wix8Z^5-k5vj87i2xQ65TlM@zyMl!|%FT{XOot-p*o--JPbovp} zf#@ZF3ELzJ+a#Xw*K?luMUTBukhCjKO%97tGCJVMK?OVGohb~^eEoH3L%hgKJjkoB z&tBc#_R?Vw62)q~^c4VJUAj=KSEo*NsA~zz`U{$B3~2q)hYp1*UuRK>^y(Hmt@jeq zVNyjnQ>vE)9WOC%p6d0}g9UvFr6Jh`p=@T2j{A3#-3b}hU#Hg^*99P4eNe*sN092k z(r_xtb+iAu2;g%NPUWQVA&yYN9*ZjUjuF2Jdlz$v{m2s}pF|`uNc~ku8)c9Ib0nJ^ zIf}d3J()=2lL(hszB<~}W_1*3G>^`Ot92YN=2nS#vJSMbZzK~z+Hpe6rI2N+9kIuH zx;u0(R~HhIvpV~zy9WN@1SVo?K@L4zoVqIKM-2;k3A$^8Zj@V#n+=_I zy?E-Zpw>~bR}I>`6o7biLim&m<1vL8SM^2vghKU2QKgNiI;PX(R#0n2Y#9}lphcgY zf;5z(qFNvVas9N_NnVw6cCsF3m660ny=rc`-E_@%>7C8Gm8C03KeWoo9tskv{Lmtm zA7cGfPU^ag!J|`+Tg1D(Muz(W7L~0;1rfH%U|~>pmYF3gPi%e~v$FP48+{Q$t#jZ| zMyF0f(g?cC#v=$$8^?0{ss5bSqd8<5z-!d#UW07%QeIIV-PApbQkVEdr*}yau)WMK zMu~Ea`J2$BoBu+xY`%A5;D1x)jwz(N0A>I~DEJeUBPJb~td+d8_v}@bUgoTVva4k4K2RmwReqrDNl9Xgh;Og`8E1=rE)YW;0q@=|#0B`!g7D3&h+aI#Jd z0^M^~c^FLz=301$QPy7sN;RN^#G)&^rcZ({cD?J3Jwt}d+3+lY`tdvI1av3tMbP3m z>a9-o8yb^PV5gS#wFUK4GlJ$7q~=PnhIAr#^7WwWy;0~Z_WtPF;-Mk)@JT>!uYms^fFreo!8xsjE?;NaM<*> zt`Uk2e9Al8QZuEkq^L$57)N#>YXT_3O+PY4x{yptXqiNkxkCa?X zrudSN{(@StJfya63d43ge7ft6Tk7bWV(n!J-fGp~l3PrW4b@)ro?h3hSbJT9Mic+0 zrzPyKH98U^S&z$OW;0Z~WR|;pa!gC@wm47KpV4f+lP2`CiY8!cFBEOrFDSVY?-$G$ z2p!xeuR4=*3B%66pPLtO5kS7kjhHI(k~>b=(=2C)HVtj^f#U!;n+7l0AkI=)oytLH z5MES7{HF`&llp_p3tT=2+8T0Ah2Qg$U9|N@?INAXkC=Ci$sw`I@S>ag;A(*w#L6o^ zS3N`+wD@eT- zI{Gl3CZ8!zzc}pNKQ(AIDklww%E`gy;-<;vA|m^$jFhz{tV$D1amj|4f>m2ngEE#a zX=f>gVu=XEw2U0Z^ML^YF}gh5H!WUOCFhvs8_CQYy= zziv%_T?;qw|Le;CJ^8E}F`fU{*BI&d>vEK)$*Yw-Xh2fMztSUn(#q*NA%Roig1~c) z=0&7U%`0ZjYcwiUa0p+B&GGS6UCDmYhBmcMjoIqpG}AwMnkEOq=IPjEj9HVS1<}Uo z#N1V}7aK6V7%Ld`ils2TIBZA}?aNs!ebJ{P`a*@d03k8cYLjQ=#Mhs}K>+Zlznh0x zCtu?Ni{^Hd&Crx9HI-$AFLQxH0j)ZxzGx}2_T(0?W!Y+cs?!mDM!>BXq76ZECDF<% zhtZ6U$ycnKNhwVzdy^9@Z%j}lm95%r;6g(jMt9(1woGBUsC#=I<=;(F-cW?1T6#O* zK->8QZ9eJ5l1X<^m5`Fk`39+w?4$yKjas@FFVtp4-iF1u)JqbmjSdb{^sU%|ZsiJm zOR$z2F(;%(9(0Ojj|)bxfq`CZ?tVRb2lVLA>oL%qAZpme@8qUo?ZPdwT zVl?k7E8J?DhKJEMCX^x@Ouq(COdT>}o$8b{)cw85P0R&v!{uZow5iF2(2TB#Ib8)I z_!)7Vk?ho|lsv5ZsYZ2j8WN0h4YHg%70J?)AxnenMQhBq%%)^+Ton2)kzAn6&h=wF;bRIZ$TFJ3KRa_eiDY7s(3+hNDr2TaH|XUL35`aP&3N}#dl?E#_Wdxi&23 zUSDpPQ_{V@a$i_XUSBhfs`w!YCfsHszP2UpGYPVwekNaH-E4%5R-^=3*jkNf^~XMiKh9fC|Ev`gUVB-DDCt$KvBE*1 zrC=q-K3KV=Zlv2DvB{WzL?I>U=}=AY%R%TTN2G0%1%>W0+A#H|AlECcXA7ycq}TMm zE;TAyru)@)U()+HBn+rA7q?KCl0~v3mOQzqxYG=-$$i7JpY*5EX=|6NdNEXOxdZE@ zjCkhMz6hJF%!e(fI!dvqkxe2^zpk9(^cx29B#Qx!d9)AJIdw+ckLo7KePMov6StY( zt^A>ts+=`rbLvfa5y2-ODh-2sz4@%Q1+w%kpTxa-4eO=zcKR^*qL9_UeAgmAgWacR z+znRhuu`>vQo*53iWU@A2RyZjmDea=w&w;?6xLIYYo1H&`I@C)wCB5)LO0U87A{%% z4GX_+;YkZy%H(r|b@)bIYcoM$4R`B7?|HSbg{S)Bxx}8YS^7nLzH2FY3!k@e$--|~ z_;m|UTG&$5m)ep4nCBS%%8ShN1)kL(MZGag zKzNA9z|M;RBUhBdwP6e2sIX*^TI;pY0`jVF6Ry8yDF&)kDdjGB59U51K`tYnHV%C{ zI8UXt&o?xff=|Ucf1OD)ZDMPS8VT}b0KG}Nv>ScI4p@ykp!HrMzg*E%rQP&sQ3Q(MK6nfAT$$<0z6TLU>)H$fO~9>X6mk#B=IJbt)$<<-j~D zT?x{BJeSyvoBARypQfIMDJ|q1gSIJ`9EEBm_f!UXqmmLdMkf+9M5hey>DMjG5MBAh zd`8wS|6R*9;2qfy-G6xe(A@_QY&Mjmy`sS+QcpZWUbh(E9S~@zJ$=R*tsY;!a`&oryT|Ej-SV~T*Y8ohbh;ivI>s`~{)--Uf>Q zmVSSo^gEIX3tX<;5yeC)l_^~r@5CdegNI8NIYLaokedk~nY9M( zHfn{iG!quhT5jWkJ+WN{lUCms+N4GZ|4Ak+oVCrn#wT_gq!uV^_%~>KbJn7OX{ADV zJQE&kFLU#O@-bo=ngW%P@;c20cz_(SE1C+|AAr+n*|_v`uelG5fQ z_l@s6TE1P!$kp(zUv7=31@0Kv$#n{pqf#tge{1Q$(S7?=#+tbG%a7C2(;*ZyVc_%)$2^yT1HBzv%}U>>D&pQ+eN^ z^5N3%ed9-tl#cD)x39FTTsmCdfAI109+93bnB52W>so@+_LawvltqSuX!e<^snDE!GtQfZ42ebxkvlnZDjbgJ;(TrkOfcs33rUyeFJxvl`_BLK+pnMd zcR&B9%f?@?JhE!TKim2*%HRCSzj*MbQJwX<^xuBzQfY4KaPHr{ck06%ANc2A_~fhS zu7C1R|NFl`@z?jC|H6Ox^8-Ko=*Kr~zJC6{d}q&{fAR3PKR7Yx?Dem0eBm?Q&(=@< z@jtoew|?}8`=0(UI{(kP)t|h+@-MFWd;cK+kN@)L|IMEdKYRBdJhF57|N8Pbf#L7{ zY1ij@V^R+b#utxvg%|Jd(kFQ~Y`<;)eHRNWp51cdh3fAv{qrCE4-Db<-+JK4;oT3I zJ&-(!n-Xj2um>7O?*j*S{muj1ocbO(P@Y&SW7(@U8ODe9>;i<}nE&2>ysH6g_c4V_ zjc7~Yy{2;dbZPLHbR=UEwk&zUCw_}x__vzZ^gL?Xv`OS78p5Ju7 zJKUi#|GnDz7ykj#){}5ye1Fn%b-z<@c%k{f4T@ycD);E)X9>8|#uY#QyU}X-tu}sM zm7fdcx*xX`{l7DvTLo)I(D{8vE&|SMX^EBLnz#SIN|#cFgYaS1%;>T^zjDdldT!In z*s=dU5#}`VxKVmQ_w?eYj3|(P&Vi32@WGx5T}@{sWvl=BaJA}3SZ2Tf-`>v5k3y7m zlh1#2wxnz3%M9wEr(EETw(nDqe7_>a3qLu#-b#CoO+n6l%~tDe!E`iSU-VB?EYmo+ zLkKpGX;g>xm5gQfu?G0*KNas}bg|oiPIsSS?vU`pZA-qYp&z`RC9M<|=}zKeF`{3W zU#rmVDh;mqx!$tk{7ki9ndCz%{Cw^%OXUMEes>dGJuWV8?%yecE1!IF1Xz9cn&-x^ zU5=|YD1;x-O-siQEj5>)Z7#PO{`iyuq#{BOd8& zw9?i}wY$pZyS04#thdkkI;#^u;*tIW{Rh + + + nunit.framework + + + + + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + 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 + + + + 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. + + + + 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the the Completed event for the top level work item + + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + 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 + + + + + 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. + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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. + + + + + 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 + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + 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. + + + + + Attribute used to identify a method that is called once + to perform setup before any child tests are run. + + + + + 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. + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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 + + + + + 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 fixtures 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. + + + + + 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. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 + + + + 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 + + + + 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 + + + + 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 + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + 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. + + + + + 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. + + + + + 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. + + + + + 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 + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + 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. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + 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 + + + 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + 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. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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 + + + + + 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. + + + + + + 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. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in xml format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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 + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that 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 + + + + 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 + + + + 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 + + + + 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 + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + 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. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + Used as a synonym for That in rare cases where a private setter + causes a Visual Basic compilation error. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + 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 + + + + + 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 AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + 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 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 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 + + + + + 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 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + 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. + + + + 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 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 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 + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + 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 + + + + + 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 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 + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + 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 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 + + + + 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 + + + + 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 + + + + 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. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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 + + + + 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. + + + + 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. + + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + 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. + + + + 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 + + + + 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. + + + + 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. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + TimeoutCommand creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + 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. + + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + 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. + + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + 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 + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + 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 + + + + 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 + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + 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. + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + 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 + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + + + + + Construct a CountdownEvent + + The initial count + + + + Gets the initial count established for the CountdownEvent + + + + + Gets the current count remaining for the CountdownEvent + + + + + Decrement the count by one + + + + + Decrement the count by the specified amount + + + + + Block the thread until the count reaches zero + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the eventpump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or 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 + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Remove isolated queues and restore old ones + + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + 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. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + 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 + + + + 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 + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + 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 + + + + 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 + + + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + 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 + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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. + + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + 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 arguments 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 + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + 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 + + + + + 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. + + + + + 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 + + + + + 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 + + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + 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 + + + + + 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 + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + 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. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + 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 + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current 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. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + 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 explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Pre-Task compatibility + + + + + Abort a thread, helping to dislodging it if it is blocked in native code + + The thread to abort + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread + + The thread to kill + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Schedule a threadpool thread to check on the aborting thread in case it's in a message pump native blocking wait + + + + + Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. + + + + + Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. + The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. + + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + 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 + + + + + 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 + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + 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 the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + 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 + + + + + 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 + + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + 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 + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 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 + + + + + Sets the current Culture for the duration of a test. + + It may be specified at the level of a test or a fixture. + The culture remains set until the test or fixture completes and is then reset to its original value. + + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture for the duration of a test. + + It may be specified at the level of a test or a fixture. + The UI culture remains set until the test or fixture completes and is then reset to its original value. + + + + + + + Construct given the name of a culture + + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + 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 + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that 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 issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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 + + + + Extensions for MethodInfo that are not available in pre-4.5 .NET releases + + + + + See . + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + Represents a thread-safe first-in, first-out collection of objects. + + Specifies the type of elements in the queue. + + All public and protected members of are thread-safe and may be used + concurrently from multiple threads. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class that contains elements copied from the specified collection + + The collection whose elements are copied to the new . + The argument is + null. + + + + Adds an object to the end of the . + + The object to add to the end of the . The value can be a null reference + (Nothing in Visual Basic) for reference types. + + + + + Attempts to add an object to the . + + The object to add to the . The value can be a null + reference (Nothing in Visual Basic) for reference types. + + true if the object was added successfully; otherwise, false. + For , this operation will always add the object to the + end of the + and return true. + + + + Attempts to remove and return the object at the beginning of the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned from the beginning of the + successfully; otherwise, false. + + + + Attempts to return an object from the beginning of the + without removing it. + + When this method returns, contains an object from + the beginning of the or an + unspecified value if the operation failed. + true if and object was returned successfully; otherwise, false. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through the . + + An enumerator for the contents of the . + + The enumeration represents a moment-in-time snapshot of the contents + of the queue. It does not reflect any updates to the collection after + was called. The enumerator is safe to use + concurrently with reads from and writes to the queue. + + + + + Copies the elements of the to an , starting at a particular + index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + + is multidimensional. -or- + does not have zero-based indexing. -or- + is equal to or greater than the length of the + -or- The number of elements in the source is + greater than the available space from to the end of the destination + . -or- The type of the source cannot be cast automatically to the type of the + destination . + + + + + Copies the elements to an existing one-dimensional Array, starting at the specified array index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based + indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + Copies the elements stored in the to a new array. + + A new array containing a snapshot of elements copied from the . + + + + Gets a value indicating whether access to the is + synchronized with the SyncRoot. + + true if access to the is synchronized + with the SyncRoot; otherwise, false. For , this property always + returns false. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned successfully; otherwise, false. + For , this operation will attempt to remove the object + from the beginning of the . + + + + + Gets an object that can be used to synchronize access to the . This property is not supported. + + The SyncRoot property is not supported. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + For determining whether the collection contains any items, use of the + property is recommended rather than retrieving the number of items from the + property and comparing it to 0. + + + + + Gets a value that indicates whether the is empty. + + true if the is empty; otherwise, false. + + For determining whether the collection contains any items, use of this property is recommended + rather than retrieving the number of items from the property and comparing it + to 0. However, as this collection is intended to be accessed concurrently, it may be the case + that another thread will modify the collection after returns, thus invalidating + the result. + + + + + Defines methods to manipulate thread-safe collections intended for producer/consumer usage. + + Specifies the type of elements in the collection. + + All implementations of this interface must enable all members of this interface + to be used concurrently from multiple threads. + + + + + Attempts to add an object to the . + + The object to add to the . + true if the object was added successfully; otherwise, false. + The was invalid for this collection. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the object was removed and returned successfully, contains the removed object. If no object was available to be removed, the value is + unspecified. + + true if an object was removed and returned successfully; otherwise, false. + + + + Copies the elements contained in the to a new array. + + A new array containing the elements copied from the . + + + + Copies the elements of the to + an + , starting at a specified index. + + The one-dimensional that is the destination of + the elements copied from the . + The array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.Net/packages/NUnit.3.9.0/lib/net35/nunit.framework.dll b/.Net/packages/NUnit.3.9.0/lib/net35/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..0a5beac579a395e3c24e56c03ed3cf0ba9cc3d1c GIT binary patch literal 354816 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
ULlF{St7(EWSj>moCsNX4y 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

(60}dyO;(k-1mxg`;cT}7tE!+yf))ZXcN-($ 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 + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + FrameworkController provides a facade for use in loading, browsing + and running tests without requiring a reference to the NUnit + framework. All calls are encapsulated in constructors for + this class and its nested classes, which only require the + types of the Common Type System as arguments. + + The controller supports four actions: Load, Explore, Count and Run. + They are intended to be called by a driver, which should allow for + proper sequencing of calls. Load must be called before any of the + other actions. The driver may support other actions, such as + reload on run, by combining these calls. + + + + + Construct a FrameworkController using the default builder and runner. + + The AssemblyName or path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController using the default builder and runner. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The full AssemblyName or the path to the test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Construct a FrameworkController, specifying the types to be used + for the runner and builder. This constructor is provided for + purposes of development. + + The test assembly + A prefix used for all test ids created under this controller. + A Dictionary of settings to use in loading and running the tests + The Type of the test runner + The Type of the test builder + + + + Gets the ITestAssemblyBuilder used by this controller instance. + + The builder. + + + + Gets the ITestAssemblyRunner used by this controller instance. + + The runner. + + + + Gets the AssemblyName or the path for which this FrameworkController was created + + + + + Gets the Assembly for which this + + + + + Gets a dictionary of settings for the FrameworkController + + + + + Loads the tests in the assembly + + + + + + Returns info about the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of exploring the tests + + + + Runs the tests in an assembly + + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts 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. + + + + 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the the Completed event for the top level work item + + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + 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 + + + + + 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. + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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. + + + + + 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 + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + 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. + + + + + Attribute used to identify a method that is called once + to perform setup before any child tests are run. + + + + + 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. + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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 + + + + + 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 fixtures 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. + + + + + 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. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 + + + + 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 + + + + 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 + + + + 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 + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + 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. + + + + + 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. + + + + + 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. + + + + + 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 + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ContainsConstraint tests a whether a string contains a substring + or a collection contains an object. It postpones the decision of + which test to use until the type of the actual argument is known. + This allows testing whether a string is contained in a collection + or as a substring of another string using the same syntax. + + + + + Initializes a new instance of the class. + + The expected value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + 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. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + 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 + + + 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + 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. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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 + + + + + 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. + + + + + + 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. + + + + + Operator that tests that an exception is thrown and + optionally applies further tests to the exception. + + + + + Construct a ThrowsOperator + + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + Represents a constraint that simply wraps the + constraint provided as an argument, without any + further functionality, but which modifies the + order of evaluation because of its precedence. + + + + + Constructor for the WithOperator + + + + + Returns a constraint that wraps its argument + + + + + OrConstraint succeeds if either member succeeds + + + + + Create an OrConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply the member constraints to an actual value, succeeding + succeeding as soon as one of them succeeds. + + The actual value + True if either constraint succeeded + + + + PathConstraint serves as the abstract base of constraints + that operate on paths and provides several helper methods. + + + + + Construct a PathConstraint for a give expected path + + The expected path + + + + Modifies the current instance to be case-sensitive + and returns it. + + + + + Returns the string representation of this constraint + + + + + Canonicalize the provided path + + + The path in standardized form + + + + Test whether one path in canonical form is a subpath of another path + + The first path - supposed to be the parent path + The second path - supposed to be the child path + + + + + Predicate constraint wraps a Predicate in a constraint, + returning success if the predicate is true. + + + + + Construct a PredicateConstraint from a predicate + + + + + Gets text describing a constraint + + + + + Determines whether the predicate succeeds when applied + to the actual value. + + + + + Abstract base class used for prefixes + + + + + The base constraint + + + + + Prefix used in forming the constraint description + + + + + Construct given a base constraint + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in xml format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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 + + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + The Assert class contains a collection of static methods that + implement the most common assertions used in NUnit. + + + + + Verifies that 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 + + + + 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 + + + + 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 + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that 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 + + + + 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 + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + 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. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + 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 + + + + + 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 AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + 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 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 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 + + + + + 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 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + 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. + + + + 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 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 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 + + + + A PropertyBag represents a collection of name/value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + The entries in a PropertyBag are of two kinds: those that + take a single value and those that take multiple values. + However, the PropertyBag has no knowledge of which entries + fall into each category and the distinction is entirely + up to the code using the PropertyBag. + + When working with multi-valued properties, client code + should use the Add method to add name/value pairs and + indexing to retrieve a list of all values for a given + key. For example: + + bag.Add("Tag", "one"); + bag.Add("Tag", "two"); + Assert.That(bag["Tag"], + Is.EqualTo(new string[] { "one", "two" })); + + When working with single-valued properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + Common interface supported by all representations + of a test. Only includes informational fields. + The Run method is specifically excluded to allow + for data-only representations of a test. + + + + + Gets the id of the test + + + + + Gets the name of the test + + + + + Gets the type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + 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 + + + + + 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 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 + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Determine if a particular test passes the filter criteria. Pass + may examine the parents and/or descendants of a test, depending + on the semantics of the particular filter + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. That is, it must + be a direct match of the test itself or one of it's children. + + The test to which the filter is applied + True if the test matches the filter explicitly, otherwise false + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + 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 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 + + + + 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 + + + + 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 + + + + 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. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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 + + + + 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. + + + + 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. + + + + + Class that can build a tree of automatic namespace + suites from a group of fixtures. + + + + + NamespaceDictionary of all test suites we have created to represent + namespaces. Used to locate namespace parent suites for fixtures. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + 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. + + + + 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 + + + + 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. + + + + 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. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + TimeoutCommand creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + 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. + + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + 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. + + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + 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 + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + 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 + + + + 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 + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + 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. + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + 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 + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + A simplified implementation of .NET 4 CountdownEvent + for use in earlier versions of .NET. Only the methods + used by NUnit are implemented. + + + + + Construct a CountdownEvent + + The initial count + + + + Gets the initial count established for the CountdownEvent + + + + + Gets the current count remaining for the CountdownEvent + + + + + Decrement the count by one + + + + + Decrement the count by the specified amount + + + + + Block the thread until the count reaches zero + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the eventpump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or 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 + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Remove isolated queues and restore old ones + + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + 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. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + 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 + + + + 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 + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + 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 + + + + 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 + + + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + 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 + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + 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. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + 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 arguments 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 + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + 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 + + + + + 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. + + + + + 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 + + + + + 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 + + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + 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 + + + + + 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 + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + 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. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + 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 + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current 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. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + 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 explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + TestListener provides an implementation of ITestListener that + does nothing. It is used only through its NULL property. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test case has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestProgressReporter translates ITestListener events into + the async callbacks that are used to inform the client + software about the progress of a test run. + + + + + Initializes a new instance of the class. + + The callback handler to be used for reporting progress. + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished. Sends a result summary to the callback. + to + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Pre-Task compatibility + + + + + Abort a thread, helping to dislodging it if it is blocked in native code + + The thread to abort + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread + + The thread to kill + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Schedule a threadpool thread to check on the aborting thread in case it's in a message pump native blocking wait + + + + + Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. + + + + + Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. + The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. + + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + 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 + + + + + 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 + + + + Delegate used by tests that execute code and + capture any thrown exception. + + + + + AssertionHelper is an optional base class for user tests, + allowing the use of shorter names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + 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 + + + + + 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 + + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + 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 + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 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 + + + + + Sets the current Culture for the duration of a test. + + It may be specified at the level of a test or a fixture. + The culture remains set until the test or fixture completes and is then reset to its original value. + + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture for the duration of a test. + + It may be specified at the level of a test or a fixture. + The UI culture remains set until the test or fixture completes and is then reset to its original value. + + + + + + + Construct given the name of a culture + + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + 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 + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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 + + + + Extensions for MethodInfo that are not available in pre-4.5 .NET releases + + + + + See . + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + Represents a thread-safe first-in, first-out collection of objects. + + Specifies the type of elements in the queue. + + All public and protected members of are thread-safe and may be used + concurrently from multiple threads. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the + class that contains elements copied from the specified collection + + The collection whose elements are copied to the new . + The argument is + null. + + + + Adds an object to the end of the . + + The object to add to the end of the . The value can be a null reference + (Nothing in Visual Basic) for reference types. + + + + + Attempts to add an object to the . + + The object to add to the . The value can be a null + reference (Nothing in Visual Basic) for reference types. + + true if the object was added successfully; otherwise, false. + For , this operation will always add the object to the + end of the + and return true. + + + + Attempts to remove and return the object at the beginning of the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned from the beginning of the + successfully; otherwise, false. + + + + Attempts to return an object from the beginning of the + without removing it. + + When this method returns, contains an object from + the beginning of the or an + unspecified value if the operation failed. + true if and object was returned successfully; otherwise, false. + + + + Returns an enumerator that iterates through a collection. + + An that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through the . + + An enumerator for the contents of the . + + The enumeration represents a moment-in-time snapshot of the contents + of the queue. It does not reflect any updates to the collection after + was called. The enumerator is safe to use + concurrently with reads from and writes to the queue. + + + + + Copies the elements of the to an , starting at a particular + index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + + is multidimensional. -or- + does not have zero-based indexing. -or- + is equal to or greater than the length of the + -or- The number of elements in the source is + greater than the available space from to the end of the destination + . -or- The type of the source cannot be cast automatically to the type of the + destination . + + + + + Copies the elements to an existing one-dimensional Array, starting at the specified array index. + + The one-dimensional Array that is the + destination of the elements copied from the + . The Array must have zero-based + indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + Copies the elements stored in the to a new array. + + A new array containing a snapshot of elements copied from the . + + + + Gets a value indicating whether access to the is + synchronized with the SyncRoot. + + true if access to the is synchronized + with the SyncRoot; otherwise, false. For , this property always + returns false. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the operation was successful, contains the + object removed. If no object was available to be removed, the value is unspecified. + + true if an element was removed and returned successfully; otherwise, false. + For , this operation will attempt to remove the object + from the beginning of the . + + + + + Gets an object that can be used to synchronize access to the . This property is not supported. + + The SyncRoot property is not supported. + + + + Gets the number of elements contained in the . + + The number of elements contained in the . + + For determining whether the collection contains any items, use of the + property is recommended rather than retrieving the number of items from the + property and comparing it to 0. + + + + + Gets a value that indicates whether the is empty. + + true if the is empty; otherwise, false. + + For determining whether the collection contains any items, use of this property is recommended + rather than retrieving the number of items from the property and comparing it + to 0. However, as this collection is intended to be accessed concurrently, it may be the case + that another thread will modify the collection after returns, thus invalidating + the result. + + + + + Defines methods to manipulate thread-safe collections intended for producer/consumer usage. + + Specifies the type of elements in the collection. + + All implementations of this interface must enable all members of this interface + to be used concurrently from multiple threads. + + + + + Attempts to add an object to the . + + The object to add to the . + true if the object was added successfully; otherwise, false. + The was invalid for this collection. + + + + Attempts to remove and return an object from the . + + + When this method returns, if the object was removed and returned successfully, contains the removed object. If no object was available to be removed, the value is + unspecified. + + true if an object was removed and returned successfully; otherwise, false. + + + + Copies the elements contained in the to a new array. + + A new array containing the elements copied from the . + + + + Copies the elements of the to + an + , starting at a specified index. + + The one-dimensional that is the destination of + the elements copied from the . + The array must have zero-based indexing. + The zero-based index in at which copying + begins. + is a null reference (Nothing in + Visual Basic). + is less than + zero. + is equal to or greater than the + length of the + -or- The number of elements in the source is greater than the + available space from to the end of the destination . + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.Net/packages/NUnit.3.9.0/lib/net40/nunit.framework.dll b/.Net/packages/NUnit.3.9.0/lib/net40/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..fbec2cf847aaab15d2a39cf4acaab888f6819457 GIT binary patch literal 354304 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Î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

EEhtCCp#{H|~5I@7s4gy7$Z4&z>A0qt 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�SDXe2VT_n3*i51djR-%Z4Uuo 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�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 UgkHd2wBhd{?7s*3H^#vK1L3q1NB{r; literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.3.9.0/lib/net40/nunit.framework.xml b/.Net/packages/NUnit.3.9.0/lib/net40/nunit.framework.xml new file mode 100644 index 0000000..901bca4 --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/lib/net40/nunit.framework.xml @@ -0,0 +1,19988 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the 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 synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the 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. + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + 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 . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that 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 + + + + 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 + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + 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. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + 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 names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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 + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + 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 + + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + 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 ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 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 + + + + + Sets the current Culture for the duration of a test. + + It may be specified at the level of a test or a fixture. + The culture remains set until the test or fixture completes and is then reset to its original value. + + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture for the duration of a test. + + It may be specified at the level of a test or a fixture. + The UI culture remains set until the test or fixture completes and is then reset to its original value. + + + + + + + Construct given the name of a culture + + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 fixtures 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. + + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + 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. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + 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. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in xml format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Thrown when an assertion failed. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when a test executes inconclusively. + + + + The error message that explains + the reason for the exception + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + Serialization Constructor + + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + 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 + + + + + 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 AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + 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 properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single 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 type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build 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 explicitly. 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 explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + 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. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + TimeoutCommand creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the eventpump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or 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. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Remove isolated queues and restore old ones + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + A signed integer that indicates the relative values of and , as shown in the following table.Value Meaning Less than zero is less than .Zero equals .Greater than zero is greater than . + + The first object to compare.The second object to compare. + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + TextMessageWriter writes constraint descriptions and messages + in displayable form as a text stream. It tailors the display + of individual message components to form the standard message + format of NUnit assertion failure messages. + + + + + Prefix used for the expected value line of a message + + + + + Prefix used for the actual value line of a message + + + + + Length of a message prefix + + + + + Construct a TextMessageWriter + + + + + Construct a TextMessageWriter, specifying a user message + and optional formatting arguments. + + + + + + + Gets or sets the maximum line length for this writer + + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The result of the constraint that failed + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be 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 arguments 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 + + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + 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. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current 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. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Pre-Task compatibility + + + + + Abort a thread, helping to dislodging it if it is blocked in native code + + The thread to abort + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread + + The thread to kill + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Schedule a threadpool thread to check on the aborting thread in case it's in a message pump native blocking wait + + + + + Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. + + + + + Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. + The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. + + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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 + + + + Extensions for MethodInfo that are not available in pre-4.5 .NET releases + + + + + See . + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + diff --git a/.Net/packages/NUnit.3.9.0/lib/net45/nunit.framework.dll b/.Net/packages/NUnit.3.9.0/lib/net45/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..b349b7f7d5bd15024c7cac02eef2d658f0394eb2 GIT binary patch literal 354304 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

fH1XBeZMe!FUlm49n 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 eCPt>tXMs>|os>sz6ly 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 literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.3.9.0/lib/net45/nunit.framework.xml b/.Net/packages/NUnit.3.9.0/lib/net45/nunit.framework.xml new file mode 100644 index 0000000..73d8cc4 --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/lib/net45/nunit.framework.xml @@ -0,0 +1,19945 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the 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 synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + Gets the default level of parallel execution (worker threads) + + + + + The tree of tests that was loaded by the builder + + + + + The test result, if a run has completed + + + + + Indicates whether a test is loaded + + + + + Indicates whether a test is running + + + + + Indicates whether a test run is complete + + + + + Our settings, specified when loading the assembly + + + + + The top level WorkItem created for the assembly as a whole + + + + + The TestExecutionContext for the top level WorkItem + + + + + Loads the tests found in an Assembly + + File name 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the 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. + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + 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 . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that 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 + + + + 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 + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + 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. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + 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 names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + 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. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + 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. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + XmlSerializableConstraint tests whether + an object is serializable in xml format. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Returns the string representation of this constraint + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Represents a constraint that succeeds if the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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 + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + TimeoutCommand creates a timer in order to cancel + a test if it exceeds a specified time and adjusts + the test result if it did time out. + + + + + Initializes a new instance of the class. + + The inner command + Timeout value + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + 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. + + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + 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 + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + Enumeration representing the strategy to follow in executing a work item. + The value is only relevant when running under the parallel dispatcher. + + + + + Run directly on same thread + + + + + Enqueue for parallel execution + + + + + Enqueue for non-parallel execution + + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + 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. + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + The ExecutionStrategy for use in running this work item + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + The EventPumpState enum represents the state of an + EventPump. + + + + + The pump is stopped + + + + + The pump is pumping events with no stop requested + + + + + The pump is pumping events but a stop has been requested + + + + + EventPump pulls events out of an EventQueue and sends + them to a listener. It is used to send events back to + the client without using the CallContext of the test + runner thread. + + + + + The downstream listener to which we send events + + + + + The queue that holds our events + + + + + Thread to do the pumping + + + + + The current state of the eventpump + + + + + Constructor + + The EventListener to receive events + The event queue to pull events from + + + + Gets or sets the current state of the pump + + + + + Gets or sets the name of this EventPump + (used only internally and for testing). + + + + + Dispose stops the pump + Disposes the used WaitHandle, too. + + + + + Start the pump + + + + + Tell the pump to stop after emptying the queue. + + + + + Our thread proc for removing items from the event + queue and sending them on. Note that this would + need to do more locking if any other thread were + removing events from the queue. + + + + + NUnit.Core.Event is the abstract base for all stored events. + An Event is the stored representation of a call to the + ITestListener interface and is used to record such calls + or to queue them for forwarding on another thread or at + a later time. + + + + + The Send method is implemented by derived classes to send the event to the specified listener. + + The listener. + + + + TestStartedEvent holds information needed to call the TestStarted method. + + + + + Initializes a new instance of the class. + + The test. + + + + Calls TestStarted on the specified listener. + + The listener. + + + + TestFinishedEvent holds information needed to call the TestFinished method. + + + + + Initializes a new instance of the class. + + The result. + + + + Calls TestFinished on the specified listener. + + The listener. + + + + TestOutputEvent holds information needed to call the TestOutput method. + + + + + Initializes a new instance of the class. + + The output object. + + + + Calls TestOutput on the specified listener. + + The listener. + + + + Implements a queue of work items each of which + is queued as a WaitCallback. + + + + + Gets the count of items in the queue. + + + + + Enqueues the specified event + + The event to enqueue. + + + + Removes the first element from the queue and returns it (or 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. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + ParallelWorkItemDispatcher handles execution of work items by + queuing them for worker threads to process. + + + + + Event raised whenever a shift is starting. + + + + + Event raised whenever a shift has ended. + + + + + Construct a ParallelWorkItemDispatcher + + Number of workers to use + + + + Number of parallel worker threads + + + + + Enumerates all the shifts supported by the dispatcher + + + + + Enumerates all the Queues supported by the dispatcher + + + + + Start execution, setting the top level work, + enqueuing it and starting a shift to execute it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + + + + Save the state of the queues and create a new isolated set + + + + + Remove isolated queues and restore old ones + + + + + QueuingEventListener uses an EventQueue to store any + events received on its EventListener interface. + + + + + The EventQueue created and filled by this listener + + + + + Construct a QueuingEventListener + + + + + A test has started + + The test that is starting + + + + A test case finished + + Result of the test case + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + A TestWorker pulls work items from a queue + and executes them. + + + + + Event handler for TestWorker events + + The TestWorker sending the event + The WorkItem that caused the event + + + + Event signaled immediately before executing a WorkItem + + + + + Event signaled immediately after executing a WorkItem + + + + + Construct a new TestWorker. + + The queue from which to pull work items + The name of this worker + + + + The WorkItemQueue from which this worker pulls WorkItems + + + + + The name of this worker - also used for the thread + + + + + Indicates whether the worker thread is running + + + + + Our ThreadProc, which pulls and runs tests in a loop + + + + + Create thread and start processing work items. + + + + + Stop the thread, either immediately or after finishing the current WorkItem + + true if the thread should be aborted, false if it should allow the currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The worker executing this item. + + + + + The ParallelExecutionStrategy to use for this work item + + + + + Indicates whether this work item should use a separate dispatcher. + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + Recursively walks up the test hierarchy to see if the + has been set on any of the parent tests. + + + + + WorkItemQueueState indicates the current state of a WorkItemQueue + + + + + The queue is paused + + + + + The queue is running + + + + + The queue is stopped + + + + + A WorkItemQueue holds work items that are ready to + be run, either initially or after some dependency + has been satisfied. + + + + + Initializes a new instance of the class. + + The name of the queue. + Flag indicating whether this is a parallel queue + ApartmentState to use for items on this queue + + + + Gets the name of the work item queue. + + + + + Gets a flag indicating whether this queue is used for parallel execution + + + + + Gets the target ApartmentState for work items on this queue + + + + + Gets the total number of items processed so far + + + + + Gets the current state of the queue + + + + + Get a bool indicating whether the queue is empty. + + + + + Enqueue a WorkItem to be processed + + The WorkItem to process + + + + Enqueue a WorkItem to be processed - internal for testing + + The WorkItem to process + The priority at which to process the item + + + + Dequeue a WorkItem for processing + + A WorkItem or null if the queue has stopped + + + + Start or restart processing of items from the queue + + + + + Signal the queue to stop + + + + + Pause the queue for restarting later + + + + + Save the current inner queue and create new ones for use by + a non-parallel fixture with parallel children. + + + + + Restore the inner queue that was previously saved + + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + Complete + + + + + Handler for ShiftChange events. + + The shift that is starting or ending. + + + + The dispatcher needs to do different things at different, + non-overlapped times. For example, non-parallel tests may + not be run at the same time as parallel tests. We model + this using the metaphor of a working shift. The WorkShift + class associates one or more WorkItemQueues with one or + more TestWorkers. + + Work in the queues is processed until all queues are empty + and all workers are idle. Both tests are needed because a + worker that is busy may end up adding more work to one of + the queues. At that point, the shift is over and another + shift may begin. This cycle continues until all the tests + have been run. + + + + + Construct a WorkShift + + + + + Event that fires when the shift has ended + + + + + The Name of this shift + + + + + Gets a flag indicating whether the shift is currently active + + + + + Gets a bool indicating whether this shift has any work to do + + + + + Gets a list of the queues associated with this shift. + + Internal for testing - immutable once initialized + + + + Gets the list of workers associated with this shift. + + Internal for testing - immutable once initialized + + + + Add a WorkItemQueue to the shift, starting it if the + shift is currently active. + + + + + Assign a worker to the shift. + + + + + + Start or restart processing for the shift + + + + + End the shift, pausing all queues and raising + the EndOfShift event. + + + + + Shut down the shift. + + + + + Cancel (abort or stop) the shift without completing all work + + true if the WorkShift should be aborted, false if it should allow its currently running tests to complete + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + InvalidPlatformException is thrown when the platform name supplied + to a test is not recognized. + + + + + Instantiates a new instance of the class. + + + + + Instantiates a new instance of the class + + The message. + + + + Instantiates a new instance of the class + + The message. + The inner. + + + + Serialization constructor for the class + + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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 + + + + + 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. + + + + 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. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + 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 + + + + 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. + + + + 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 + + + + 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. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + 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 + + + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + 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 + + + + 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + 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 arguments 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 + + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + 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 + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + InvalidTestFixtureException is thrown when an appropriate test + fixture constructor using the provided arguments cannot be found. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Serialization Constructor + + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + + Platform ID for MacOSX as defined by .NET and Mono + + + + + Get the OSPlatform under which we are currently running + + + + + Gets the actual OS Version, not the incorrect value that might be + returned for Win 8.1 and Win 10 + + + If an application is not manifested as Windows 8.1 or Windows 10, + the version returned from Environment.OSVersion will not be 6.3 and 10.0 + respectively, but will be 6.2 and 6.3. The correct value can be found in + the registry. + + The original version + The correct OS version + + + + Product Type Enumeration used for Windows + + + + + Product type is unknown or unspecified + + + + + Product type is Workstation + + + + + Product type is Domain Controller + + + + + Product type is Server + + + + + Construct from a platform ID and version + + + + + Construct from a platform ID, version and product type + + + + + Get the platform ID of this instance + + + + + Implemented to use in place of Environment.OSVersion.ToString() + + A representation of the platform ID and version in an approximation of the format used by Environment.OSVersion.ToString() + + + + Get the Version of this instance + + + + + Get the Product Type of this instance + + + + + Return true if this is a windows platform + + + + + Return true if this is a Unix or Linux platform + + + + + Return true if the platform is Win32S + + + + + Return true if the platform is Win32Windows + + + + + Return true if the platform is Win32NT + + + + + Return true if the platform is Windows CE + + + + + Return true if the platform is Xbox + + + + + Return true if the platform is MacOSX + + + + + Return true if the platform is Windows 95 + + + + + Return true if the platform is Windows 98 + + + + + Return true if the platform is Windows ME + + + + + Return true if the platform is NT 3 + + + + + Return true if the platform is NT 4 + + + + + Return true if the platform is NT 5 + + + + + Return true if the platform is Windows 2000 + + + + + Return true if the platform is Windows XP + + + + + Return true if the platform is Windows 2003 Server + + + + + Return true if the platform is NT 6 + + + + + Return true if the platform is NT 6.0 + + + + + Return true if the platform is NT 6.1 + + + + + Return true if the platform is NT 6.2 + + + + + Return true if the platform is NT 6.3 + + + + + Return true if the platform is Vista + + + + + Return true if the platform is Windows 2008 Server (original or R2) + + + + + Return true if the platform is Windows 2008 Server (original) + + + + + Return true if the platform is Windows 2008 Server R2 + + + + + Return true if the platform is Windows 2012 Server (original or R2) + + + + + Return true if the platform is Windows 2012 Server (original) + + + + + Return true if the platform is Windows 2012 Server R2 + + + + + Return true if the platform is Windows 7 + + + + + Return true if the platform is Windows 8 + + + + + Return true if the platform is Windows 8.1 + + + + + Return true if the platform is Windows 10 + + + + + Return true if the platform is Windows Server. This is named Windows + Server 10 to distinguish it from previous versions of Windows Server. + + + + + The ParameterWrapper class wraps a ParameterInfo so that it may + be used in a platform-independent manner. + + + + + Construct a ParameterWrapper for a given method and parameter + + + + + + + Gets a value indicating whether the parameter is optional + + + + + Gets an IMethodInfo representing the method for which this is a parameter. + + + + + Gets the underlying ParameterInfo + + + + + Gets the Type of the parameter + + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the parameter. + + + + + PlatformHelper class is used by the PlatformAttribute class to + determine whether a platform is supported. + + + + + Comma-delimited list of all supported OS platform constants + + + + + Comma-delimited list of all supported Runtime platform constants + + + + + Default constructor uses the operating system and + common language runtime of the system. + + + + + Construct a PlatformHelper for a particular operating + system and common language runtime. Used in testing. + + RuntimeFramework to be used + OperatingSystem to be used + + + + Test to determine if one of a collection of platforms + is being used currently. + + + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Tests to determine if the current platform is supported + based on a platform attribute. + + The attribute to examine + + + + + Test to determine if a particular platform or comma-delimited set of platforms is in use. + + Name of the platform or comma-separated list of platform ids + True if the platform is in use on the system + + + + Return the last failure reason. Results are not + defined if called before IsSupported( Attribute ) + is called. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + ReaderWriterLock + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + Enumeration identifying a common language + runtime implementation. + + + + Any supported runtime framework + + + Microsoft .NET Framework + + + Microsoft Shared Source CLI + + + Mono + + + 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. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + 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. + + + + + 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. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + The worker that spawned the context. + For builds without the parallel feature, it is null. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + Gets or sets the current for the Thread. + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + ThreadUtility provides a set of static methods convenient + for working with threads. + + + + + Pre-Task compatibility + + + + + Abort a thread, helping to dislodging it if it is blocked in native code + + The thread to abort + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread + + The thread to kill + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Do our best to kill a thread, passing state info + + The thread to kill + Info for the ThreadAbortException handler + The native thread id (if known), otherwise 0. + If provided, allows the thread to be killed if it's in a message pump native blocking wait. + This must have previously been captured by calling from the running thread itself. + + + + Schedule a threadpool thread to check on the aborting thread in case it's in a message pump native blocking wait + + + + + Captures the current thread's native id. If provided to later, allows the thread to be killed if it's in a message pump native blocking wait. + + + + + Sends a message to the thread to dislodge it from native code and allow a return to managed code, where a ThreadAbortException can be generated. + The message is meaningless (WM_CLOSE without a window handle) but it will end any blocking message wait. + + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + The TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + 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 properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single 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 type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + 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 explicitly. 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 explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + 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. + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + 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 + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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. + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + 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 + + + + 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 + + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 on a separate thread. + + + + + Construct a RequiresThreadAttribute + + + + + Construct a RequiresThreadAttribute, specifying the apartment + + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Sets the current Culture for the duration of a test. + + It may be specified at the level of a test or a fixture. + The culture remains set until the test or fixture completes and is then reset to its original value. + + + + + + + Construct given the name of a culture + + + + + + Sets the current UI Culture for the duration of a test. + + It may be specified at the level of a test or a fixture. + The UI culture remains set until the test or fixture completes and is then reset to its original value. + + + + + + + Construct given the name of a culture + + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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. + + + + + 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 + + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 fixtures 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. + + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + 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 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 + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests for equality with zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests whether an object graph is serializable in binary format. + + + + + Returns a constraint that tests whether an object graph is serializable in xml format. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the unique name of the Worker that is executing this test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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. + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + diff --git a/.Net/packages/NUnit.3.9.0/lib/netstandard1.3/nunit.framework.dll b/.Net/packages/NUnit.3.9.0/lib/netstandard1.3/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..95f123be2eb51e015d1982be55ab71d18851e586 GIT binary patch literal 314368 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

QH`N8RtV;$*ZKV1LtcBF&BM0*JZK;+}OIl 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 O7_J4pu(i{Fr-47?OD|FY literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.3.9.0/lib/netstandard1.3/nunit.framework.xml b/.Net/packages/NUnit.3.9.0/lib/netstandard1.3/nunit.framework.xml new file mode 100644 index 0000000..4b2e5bb --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/lib/netstandard1.3/nunit.framework.xml @@ -0,0 +1,18594 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the 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 synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the 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. + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + 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 . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that 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 + + + + 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 + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + 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. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + 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 names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + 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. + + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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 + + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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. + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + 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 + + + + 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 + + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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. + + + + + 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 + + + + + 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. + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 fixtures 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. + + + + + 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. + + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + 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. + + + + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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 the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + 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 + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + 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 properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single 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 type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build 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 explicitly. 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 explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which is the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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 + + + + + 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. + + + + 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. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + 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 + + + + 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. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + 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. + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + 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 + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be 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 arguments 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. + + + + 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. + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + 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. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 deriving from MemberInfo + + + + 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 deriving from MemberInfo + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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. + + + + Specifies flags that control binding and the way in which the search for members + and types is conducted by reflection. + + + + + Specifies no binding flag. + + + + + Specifies that only members declared at the level of the supplied type's hierarchy + should be considered. Inherited members are not considered. + + + + + Specifies that instance members are to be included in the search. + + + + + Specifies that static members are to be included in the search. + + + + + Specifies that public members are to be included in the search. + + + + + Specifies that non-public members are to be included in the search. + + + + + Specifies that public and protected static members up the hierarchy should be + returned. Private static members in inherited classes are not returned. Static + members include fields, methods, events, and properties. Nested types are not + returned. + + + + + A MarshalByRefObject that lives forever + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class allows direct calls on Type on + those platforms that would normally require use of + GetTypeInfo(). + + + + + Returns an array of generic arguments for the give type + + + + + + + Gets the constructor with the given parameter types + + + + + + + + Gets the constructors for a type + + + + + + + + + + + + + + + + + + + + + + + Gets declared or inherited interfaces on this type + + + + + + + Gets the member on a given type by name. BindingFlags ARE IGNORED. + + + + + + + + + Gets all members on a given type. BindingFlags ARE IGNORED. + + + + + + + + Gets field of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets public methods on the given type + + + + + + + Gets methods on a type + + + + + + + + Extensions to the various MemberInfo derived classes + + + + + Returns the get method for the given property + + + + + + + + Returns an array of custom attributes of the specified type applied to this member + + + + + Returns an array of custom attributes of the specified type applied to this parameter + + + + + Returns an array of custom attributes of the specified type applied to this assembly + + + + + Extensions for Assembly that are not available in .NET Standard + + + + + DNX does not have a version of GetCustomAttributes on Assembly that takes an inherit + parameter since it doesn't make sense on Assemblies. This version just ignores the + inherit parameter. + + The assembly + The type of attribute you are looking for + Ignored + + + + + Gets the types in a given assembly + + + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + A shim of the .NET interface for platforms that do not support it. + Used to indicate that a control can be the target of a callback event on the server. + + + + + Processes a callback event that targets a control. + + + + + + Returns the results of a callback event that targets a control. + + + + + diff --git a/.Net/packages/NUnit.3.9.0/lib/netstandard1.6/nunit.framework.dll b/.Net/packages/NUnit.3.9.0/lib/netstandard1.6/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..a7b04d10907c2698c42f97a1b85018ae57ab956a GIT binary patch literal 317440 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 >>o|iou9^|JONT- z?Pz}6)(?+|SH`nv6>u?pN$h?VZ1XIjStOo$-$2Vb-=k$X_+TK)mLxGu|8`h|x5fuX!4CO}SUX!L?t)xo z)cG0O(%wWIe-O?yGB~rh4N|G5R~EH7J;+$gFiW#3Hs~c=sro2NJs6u8WntA|8jqozOq~pGX@EvSw6Ni zvY)jv`-#-VirRuwAqt(Hx3;Niaz?ul!V{Oh_3OZm-X59rHx2Cd@g3egqVKW3>wzg%f z1>LZ=W4i=Bf}18^3VLqs$ZiXIZSBfl2$J>g%p=s5&JucWn6bLZNAJr*1qJ8>SuCfd z+||~>tgWDp)?uulppUKDEKkrL>nH{f55Zp%OUgZ99mCcOI&RHl`vsk`PGIK+UA9hS z4+Pz?PG+wJJ+e+?-VIz~KDW+bH3hx4&SAPBSubSo2r8j3WW5CW=!;m6pa6Xto5bnY zq}A3HY>A+a)-`OappUI<*vWBr&_5OmqP zgVhss!@7$(1U-V!%%=-_Zr#TQ3VLll$ee;?{SaFysDyr$Z4%_8A7`Hm3eZonFFC2n ztF33)Z9yBY=h+KEA6vg>9$`kR)#N?aD=a|J0qZxck)Y$&n=DDt8S8D z4eNL8JwcDGkJxfS&#jNyc0sSLPuVd+vi^)+7gR$3mHjNpNB2kstStGVZtmZMpvX5LCtkla`~$W{xr$uuc9MDw+Md~9Wi7XD#k6@wO1-cNS+XepWNoTp` zbgy^y`qE87o%Dv%6G7eeFzJ<`A$nuU6Tbie{e9))(RzebNsv>Il7arXr-Pk9Tc=yZy}u( zv{_G;t_#|xw~~Gkv`0^qei!ta-bOOfds~XwsLZ2!JE^Ro(|Wp8T~H^zgVaFKyLzS+ zE9kP`SxOOfUGE}ga>{``be9GRD$;vMPC+a6-qJilYxO?TIzgND{?Z;n+w=j_X+eAR z!O|^3pXo!SUj!Z1he>LLQDZror}g1dMM0hP5mFsN@9HC^SV5QdF;Z(m*Y&YdFHQp; zlYH}}VSj zR?umEw)C^0PI{sAm!Nm`c~Z$pBew$`m-U5GB|+EqB6wq!q0=D`OC(r6hrc4GJBswB zQlg-h`U)vc&{}<^)J@Q4eT_6&&^G;jX`G-v`iIgqL7(aCq{V`c>KmmG1)bJ6Njn8~ z(m#?833^xGDxDK_S>G<*6m(txL^5WTlW11COM1d}Kjz%icS$cf-OqWX@0QdiM*h5W zpXz%hyCA2&Pf8ZF+`3;%=aioERNpU+739WQX_xUPe>yK zNztdJnVe47@rXVvsa7Mmr|Wn{e(rC#Y@o z_tGpukMzgV3QobvZKHpbJ`wateb+q5li#w6s^if1PzF`$X^Q@5$!486I2jgTK-+o%xG`f8y-u>oZr1Kj1n;@4L z^n-1pTu0C|+hjRO(4V%cavx6T9CvKfT^N%yB^Mo&azbEjitCO^Ss^Uu zE%grZj9F96-}}NcCuEQxd{~0QH2l4#-XT6Q>*NL$`xMq|f?v#fIaW}4*h`lxsCvw1 zxwD|Kn2+TCf)Zl3%fpF^Ae42s9de$aZMI$VRBpK1;kAbrSbNhs15PN5Bub`TY@&x<+&?K5<&%90*2`{cviGObzvnEmpXoVw3OI?t&f z80jjfm+vCoHVED*k_Gg=piwcO$$xOmwJGC)SUi^K6pNQ*5|EjbBXT-WX-<6|bAc*z zigXkK1#{}1xg02hQ-Rm}KsHVT7jFPc;Pk-06{v+lEI(r>P#aDO1NX%okTW^iT7407 zQ0~F0N5;vR&jk&ddot#bJb>#`TAhpeLLSa(RK}H>*NZ(R|7MV7R@sQy)ACIet*=ZFxGUsa>*T@5u8wRS6jz`>mW;jmm}QeD~yKq$^@L=esAb=Y(^< z@8lhv3dgs!eJ>vo)Y0}xenEtDqAJlp%9Rr_OgtkDw*4$S1V!l2<<^3l>%Yle1^L;2 zmj?@~Y5POY7Zh%LEiV*gv;8G+5L96MTiz~colR2q3)*H=lsAGtvze6|O)+JKEHq`g z)l+fLyQdOMIvi(z@;}rL=N`=z(;4Zb58m zC8Qa~XROnDDbYmeZ(6LE(n-*XKp$l&(F5sV>ipQU%FyQM&j_WwvY*HZ#aFo|$Q#~G z@Q0ga1tmBM{pGXcHAuT{3#8y)38$|W)_YaErf6>JVU7p!b zfd`o3?}3yye^YE_rI*lo!@CgNW2mAGchgl-^0_}Or2u8Go35&I!XV3_lvzqOC$0lnA;S%3V&aL03b0 z%&BYoETyLMoYR1Gct?x!+8`>kTE$|orD!Q{OQN{0b}`G^N@=ph+SFKW#ovvBl`x`j zr8Sw`V?&fUp@VzH#X|WfH5Zl|Sf&#ht*5RsS?J(StFovVtrqlYY(3?uL6(>Xhhpn1 z=ZKCmtfTtM`Ic|<7piuD z(E};jyJ}o}WkDKR=Ckm*!EqT%={7EZ4dXJEYJ$Fr?WD{R6dBi5SuV&H*Ig;u*5xlD zu9s3xP;y)!Wr3j9as8Fmg3{v#Diz;#`Rg1vMEP7$uef1KdOOq^>C9336B#XXgfgD% zPD2|UsmyfKjZ)UQ=|(Fb3!MaSEphMfW0WJ@@?h$~xG{=%I>wjJQX7tm8(YkB+&^dw zSss%%%`J!Ko-nwKBSCMxTQ@+}+k%L8pA!jXM;+$80D!;;33DaxOMmc~s{>Sa(2pqp)ePe~Va zB5B@hI9(XjYKTDaV958g2nELPxm2#Zx(weM~o2`6BlyB+M{D_Ra z&r^c9CDzJ(MdyUIGG9sMgtf9j>BR|aWq~q^6V}Q?WdbLxm4(VmPCtgvQi_yyoL+`| zvm)hVP79r(Y?1OQr}v%ZflhM5k$tgphZBzMiX zZ?;Kk%ynK3mrI)!8`lLi3}%~^rd)^l+oGg$!u)Mf(us^be5B+U{@9&9_u@WQ8h6LE z!NZhNxPM%L{Ne` zl6|+*iW9caJxXs**gp3tqd8&w+^fvtgza;$@;)bQpPwq5IAQzzR5{5B+vh&zJSS|Q z`;=>(unq24o^ir9xL;9w86|;j@H3?(Cv1bCDgKivq3$~@B%2J|y3$~@B%37|&wscI{ z%yrn7jw$#SQmjo(%W-8tCrrz6m&yly zkqTL0-zxS~%1t6nbuc@n{4B_uomSomlGqugRzLJ-w7N5jE@-y-jM7HXiNLeU5J9Ws z&MC76EsgtHSwUo+8!sx`gbtqKRSpWe5qDX+WDu3oRplm;QA$^p2V94x^o{Zp*I_Ar zqx?=}#BfcaPv}A3{c2Z@yRKyPH}d{6F35gEdBACR+vV1q$}dF5)!9wu4JW)hyRCQ* zKz~JSSHpVtZ z$zgx0jd?-zf?Zs^xZ^<{V(OTpbY!p$_-Az$qu`sJ{FW>*VI>n zGVB(${6Hg}!O6YtCDkxa&ml}7)h;N*URG_#snp03_6lk*L3#E{Y7VE9twz|Zs1pU{ z*{iCHIaP>v*n`ydf->wi)%~1Gf-XcoB`CvQSG~?D9CQuT9|UFC!_>by)dXFHT6&O? zhnn#j_9m+PJP!roP7gN;(!ns>q8T`ec* zhP{_sUC?N~w;CzPsrOS8Ic+bzVDGPX7IectNF69>v_4p!B*>``Rp%K5YmWEq!_<|W z))zhka+T7#R;z$MIhv-{ zATmapgXmVyEtg=!~3!H)UrPC*flMd}ejagHUbe-@?;@1!L; zR=`&*4GK>7aja79f&v_C)z*T79UrP21VuPDs(S>*IX0`_LtUXHIX+gaa@v~L%CTK- zBq+nNQ*{U$t?yFX33BRt)SjHS7q)WjRmTa+aO_v73mUC|rmhv_)IV3ZbNVKwtK*P* zhSS8wNshznpPb5v^mZIo&BKgz#+L8xIH8u~RH6JJ$0^a~U$?(!KciMNbe8v0km_+- z5{eYXDYOAnA`b;u*3YPET(>K9xZ|wah3l#;84Wa$>(ZJ{aD1hX;?#XM(nL-L!ANsB zy?hsGnL)75J{f3(pjnP{qBlP6xXOO6*hq9<UbuNv#~MV7TG3moTFV|~5| z*5{W38SC>!7Dwc2AY*;L$kNxb4#-%aFS0~Bwg4IH^F@~4nV$d|>+?mH0!E?2+&@hhy08$fevv>7N7#F9oJNOxX~tlb|~@JR8K)A z;;*ZfIo(bz0~934FaCzwm{Y@yKp>l-kocQwDyL}~4T0Km@{hO1-%>ksY7!qGe_J)y z=Zj!{J|+H++MDaPHBAE=%t?;Vi2qg{!D(ujuJL!(JWf?Y`o!NWR`1`r#vTn<2;LH| z5Ik_{O5qB@_v#c1#h4F%ug>OSuE-n`|9!DAAF4&da#Z|7b%Q~0|7d*tBeik1QG$5J z`$4sH!ZGWK+LBYLk#UZn)J}qu9KWaoIh|}3=Xjwy1tmFNs&hDbH;;4tsjd=~2>(bc$>D}Ajrd} z*ck0|q9V)v`P<`TwbPtV72Yz(YF7x)$G3 z8!YJC_;<8CK~MFz+6+$5LYG_HX^R9k*V}0y2s#;`u5A}|Hom=fKu{+=LpvpCl5Yp? zs-Vq!ruLnnqk2c}7eRg=owUCN!Tvg}n7-_K0q77>HFS~;s!M0Dd0znb_F0D{dbA6At zT9BV@ueMcCP1`>03qj$w1KMRlHrqk%k)U<9L)r^L+iZumhT~mn`OJ1)8$x8<_x)0H z-+T9Eu^RhQn@W~PSWKCagfF$ZL`EAtr7h-RhBgaNIHeupw6T78!fEX+rwR3~31_sc zoMOtvC!E#lPr$SkvS!T>o4?ZRL`AG*#NXy~JobEADLt<(;kq@E$qDDRb%NR?T+r@t zs@Xa-;cG3*Y2>eF>uw1bH9W>AheDzjm@a9qyC(Rw^kuE76Lm%&E^9pn!Ml>QNe0n9 z;VarsL46ahYTo$_{*1fF-)NH!vf#?)HEkAA5o@(zaKbfhIj5z;ISJRb)&=OVi22qW zmvB>iK~%_U0o~GSOhjEF`yzN;!fmY|Cu`BfggeFR;ajcsB(yYA{jJth&~Ed$+H9g@ zmQKy)srR%ZPD7e$?4GvDAa*BoZo+--GN*{F#R=bQ4~X(vr&_BL9%|($V+_YwMAnJG zCt5W@8xwxgoSYsE`6S_)rcE&{Q|zqu(^XGIecVEIwtsYT6I~%$<;g!}@ z&}{Q-t+k*d34du9IlThQzqOwP&4$n2`M-zp<+BnEG$xs%iHviAZ0bjZ<#IYfHa#~i zEdzq!6Wyj)oJItlPEbthR0_rNctj;hHI?M_#|X);n#yy+HF3>Ug%hrcYo=P9_7AHh znM|Raz8ogmO{OTKDQxPv3khb^VnfFQ!>%P*Of{w%sjdO!X==@BUxVPdlBQDAQD@X< zX_NcPLTQux%7RxhOP^wvKE*7{m@q_a^CMtIzMLEFHkTLFCc&FkaHHMkih?pTy_ugI z?KW2y^f1wzRdJ);<^WT9%0rRm_i{G^s+s(W3N7aH&Gl-g8itO2;kcU+XqqeNhlC*0 zPn_;_d67`l#AaZsi`bnmuM%pRyos<};Qf526hTU2u&FoEG0Vevi${nl#~_#i4mXFG z_6zc6bxiQ71S|>mEYzFTH6;-pVM8LzvwEg6TsOI?#Oj;o5@CFviSk)ZPrcEMEUGw zV);ayDP2&N#8}f%PDeoJFx@0F+I)iPIT5D1c4C65^lVHE(v7&LrUpb0Jf3GXNNjFu zLX>Y|9U_42T(>jBBqy1YxbASq>4YRx8rR{jon%uNPWQ)$vSiahPSd@SMsxaU4ANvy z^Ma7(amsIlw2IT$VGRn&|{lAxj2o zYg#wgRi3>P+nM$gJ@A;F6w2D0PI4L$G$gUT={!-sWkgU8&^4~R)FC%9!*rMHzVDC^ z^qA|)gfEA0AG|b3!u)kGl_)fFi}}km**V3RdEea8G@8?%3GbUboAz*8Jz;8MSJU^L zE-Wlmx|x18$Yb<)Eup(fokwAMjBYtAvAZdPQ+~?@i9Jk-21y<*mnZfzWpFaJT$|Y2 zu=gI|SrlEv z|J-f+4WWvF(jhM>8UqTb2&gC^AR-7T zks=7lH|LzWclS2p-{*aNzwdqj*OTkIC-a+gX3n&oot>TCtuhbu$y(1o9@wLWfAl1icda zAas~?#v~RtOuB56Cv3PBG@tUhu9+S-QsNI$^1n>Bu314&p(Yg#8zm(OTGp&&*chpu zNl$a?YEp%;u~I)l6=H+gcxi%3t4fTQb_q(YRy8bL$}uT8Y=U%O(AQ(@g=I+YY|6{m zV;gcRXj0R#Nm6M+f$^=vCQGeMiVAy0>L5r8P2jY|q~gj{X}w7^T+^gIf_g-zg-w(0 zn$(_?vVg4ji0m3RUD_k4W3m2WGo=Se>1-YE1v90x3qdoT#m)u_6*Py}{7k8*pm%wT z&6K7K8pQ3*l)ggBX5T(Llv9&MkV-Z?^z5XDS<(pg!~ zShmz;F~vJrVL{jeDbl3Z!WK!Z1iiiR(%hZwgy3ZAJon6PhiTbVvsVGR*7Tel~OMudp`J7sa4V-A?qES8@5UsEo2gxy&+`?Sz#`FLz;m!k)=;M z8n#+`RcJmObs}tyv{ujrzC&@1v>7Q~naOu3u90>k<*Iip&Ty@j4hWfCDS)k&J{Iv{ z)o7jcInqR>?JN(2_b0<&t{2*2y-Cmx7C}2$1npoEw1Y*^4i-T>te3t)dzs2RUB2b? zoygh#F0Rn^(lwE@`g3Nu-jwbM+A`|&zkfw>}@Gk(3%t}e5=%a1;tyF;tk&> zZ54DbRSMrO^?aRV@yYz{WYSN9%C~+Ze24VFq^HAoO8ClEKAx3tT_t>v^u$Vtm(Chz z)C}J%)e{uRX`i%K&~{Gyr9FaP;B-Lhzl!2*dZuCc`_cwML%Hk&srefuTf=)nj^?groiZtaeJuT8l7k(V z9uTp{-CBAMOVigvJSyK2X(19H!RjQ0ACa~R3W#bQ{;A)2`g18q$c9IC4F6neu+C?l zzvV{?F-ZzPDMgsHxY-v{qDkGuzm)nQT~c9(+gH*Mk}0sm?JH@LkiibOQ_>6}gWY|n z{N`X^`^~|=_M3x!BQ2zOyk7V_1*OvKefeA;az?s=1nbFt!p}-iy$Q0p%CB<=ajJ%t zsa%*nGW=Vqj-X%ouH0{>X9dC7b53d{2*#dsQmml220NcPFQp3FJ9vV8Ug{`l;)LHMw+O=h@L!@-2W%nzbJ`u9;!oe(0`a)3q!o@g! zOT=EA#NUu9{VHfT(j!5mXMxPS5o?!?=I4iBq{@PR=yoIgrql!}on4yqYxphcWh6Q_ zZ%IQ*Q(3$)nB9`n1zn5=nj$DKx)`T9NV$%HQ4hm!OK%A(7xpmxjs&*(xa0}t^sDp% z#bXsSABNwRt|8?(-kd6_ zL->)@3^l0?kNn1oM}FhPBfoKi$uSrY#^fPsp8jlMLFSguE3gi`B|ZjCfMMD5!YzM{-HI=^oIe{!&VgM}m5( zA6iQ8ic%ol}YtO z%gI4|eVT(q%gf`D()s!le||;&94U)^T&SVDqI?7ClG?8jf0{+Ui@Gu#mwFx3XMP$d(83Z`Q~ah3sc8t0GT9%2i+FGvg{UqzLm! zXz42QbfF3BFID7uNVNV^MP4douzC#rsP& zITvNQD%5o~`M98we8y5u{z9Yzy{DRd7KwUKHTef2`@LZ>t8S(VbDQe&FG5xzb7xp} z`8T9Y<;lzm%`DBXW1fo$l3n|;v}#Db5Edlsf}-oql!N4=NZHDrc@5n)^1dZ;~C8DO>1SvzA(dQ*jVM2DZcbAA-a-5LKTvkhN zjWkhl^HIOH{Jfwi_^4l7?jdOSu>KKse5LhtpEy3ej=UCSnQYtaVO)00q%je7<>m(% z|I1{t#rRhi@5(kBMk0 z&q1Q&ua&%rh`$>xHnf$zhvIPyYa&ABNjYF0>JX76&-Rf zqObhmbBLG8QiHsa1LdB_iEj759x+I+c7o_(z)9~gxrLwrt~p#DCg^tcB9SBHC4wRc zT#p##m$Py5`y}J}3}oZv(@2-p0X6wkO!7sfbY)~s{uGmZL&$p9su`LtKY0?Y(-|RM zt}F=70qJsGL2$&S%VC0k zUm>3$zagk@5uojYij4v~L*(efd%*V)4<<4JFDp339f;Bq-5Bxe3Ojad454<#?fdulnWs zRe6cfgjANu>yfA?milQfmEX2$z9#3`G?)2lE|U-2G?&Y#Y?>?lG*`&yY?`mj+SgD% zvc6I-gaozJGjgR|mPi@hwO`~aIS`3I-_f-vr`kxl4C>_#Iav^tXtnSBz@T2%$X$gD z#*VUv~QSm)-J1k;#m|k*kxO4B*^)L6c2Is+&;q_I;-K6{P{T?2>*}9Pk5J$mN9_1LO0zGSEq@-L#qT@(WLa#wg{sdn6?U9N?Gu%rmSWuLC zKY{F$11u=YQbAxrReWn6U_n#Hlm$(&z}Fd+wWtZ?3e}bENYs-JC5H(2GZ+f{8R9{Y zhp%EU36|_$;iBETnWJVh`r54=Jo<5Glz;4@MSI_6X|Csi=}C zsN^%BL>5!-A*Cx7pE<$FnTKie9lImLiz^xu-Z2U(t`tF{yFyPWWrgPTF5g5xp#%!e zyIo>A)fTdie8sGU(n!d5@|=}WS_)aS^zq?OD$z(8N_2WArxYQBbPOXNQE?ODSMD8&DwsNb(M<0TAKBgZb+b6BdWf#94Va*XX`^6DBioE39B(R zqMlJIB9Uf8WvWRNLK-P^k;r;uWr-<^ha8cqB1WcHD+9@Xlb>!4uY5O~sFM?ACWhfH0W=CZe(j`ayz$H=7 z`;Ahal!lKW-X+J!-QSGrq+AqqvU{0kot2AD2bZO@xzD{5^@0)zAM@n2j?;^NsdQ0B zqU@4mPu$L^F3MIx`{MRTbyaq_DPDzvA4PRj6c5p!fnP`UP)-ZFIr?H$PeqYH2Dx^y zmy}XOY){be6DI(D7v4rU(oD| zp6CI}FGyrzkfJC)do98TDJ_VU;*H8j4_2a(_!!x!MfhMPm1O*iAuxJ~0$;Z0`Q+3h ze5e9nsE1KwcfGpN!<2gbd)Z+9{f3RBhb!bjEx?x z?9nNeXY00)9;Z|*Ks2vvx9D`G9#STQ`kbirH>po_hO#z*ER3i(B05ufq7c#b`s1S~ zD-DtO?$ct^qo*kLS=Ur$Hp-|brYWnCsE15bdh$^XYjE7$=;_KiK_NqzN6+wU_nArn ze6$ief}k(WR#w_%S;_{RY>r==bCp0oM}&2aGcEWI4W*t*e20cI zUQnO*OB!YS#miQ1p^R25vK7X^_5l4F`n~}76X8|mh>*cfgeA%eA%mR=OO!K6bj`d}(TYP}a@p7_bKFan z5`wM|W<{5pM?btn>NS(#twYO9f-)>O3EoVz!X$W~!0SHp!aDRylVIncMYyxWl)*}d zC4;?w7QxzuMX=Y;BG~I^5$yFd$pd@+EP}m$7QtRWi(o(BDqmhaF!roA3Hr+#li*!K zYklN}eR=Clf|YfPU?-kMu=ma+5A3hA2=>>#=}W}}`|CEE1pDhY`N#`9>fSO5cGPV) z3HIK-<0B8OzgPt8FI!9*y!&RWNiasfYZ4sO+kNDPyBIr6f)=v~?f_T>YgQJ)oeGO! zh1DYH6Ba?8Sp@eVEP~Zgi{P$;MR2dcBDkwy5!_X<2-bcrf;$Hm!FsYu9(dcEMKG4{ z@|B&-Jkfi6RUo3)MWfsA1CW~M}U|33lurHVIa+jwoI5+yQ5 zq>rMHDbr0l9(`QdLd4H;XQRJRb|b+#ZWpHEmkrB(^h zq_g&E#r-5urm{E;WQHJkKhbHWC=oCFeRf)@W|AZ3tdf94=i3WP4-v0F@1GZxen{!c zh&ci5f-+plTExz9eW#2Uve?)F_MI|C$Y4adsALHlyjSd^vRKGA@)7!b<#i$3!S6GF zuWTS0Q+b+~l%gfE3_PC!?2^*Rr2Fg#CDbG}=8Dpu2;ZG~P3eM^j`ydpDZPd49lqvx zT^THB4_|Y)Pco0Efcb#{ho@sp{x<;<9>3narEr^v{6nJ9OsV=k0 zTrjI6KA*zszFGg8ORE% z(~&4I0qQCuj2EE(gap_9qhkuGffXPX+9gy(t#8syxriExG>?CgWL8X3bpsMvFQ)QH z{4d9|ykB-qarG?9!1_%23H2w^#5yaX-WCK$aS7F^i1w6gMM78!wJ1`$a<9ltxrAC4 z3Cf-w^Q1Z+DU-DhUCO_!vW19S*c4Mr{Q!wtrL_97Ah1wcy@*7qlvW#70(+F}r__N+ zkmk0Sr_~8WJk8vgGU{@nS+4EpF%{I_m92WIsE#vfrd&~-OQiIvAIvJL%LP?<0caZ% z-yL25R7@o`hltzzmeU!NF2__>@0fHarixmy3fP03xnl#>K$E<&Rn-pLAyFT!s~$q4R;jD* zs1BMr4Ek<8H8BV%o!#J1RMk`aAwgf-6jNUvheWw|yuUIelr;o3Sm`Z%x`6 z+e#c`xt?$9gp>DaziTxT^%&_}Zp;$Bpn zAZ049a%oMwr~?H391b*EQ0w+UTZveiE^Xtws25G@6xUS^s0$X(I|jGt5!YSipT^~s z&UW#4opx8JBEhl3_iLydh}fC(eYoablLp82Py_2xyghSg%01PYg2qL7*h}gmq)U#K z+``Lh@%pH#T&Nn%URLWPk%gDlNRx_i%{E9>XT8*yNXD&?itD8gHz^~ow+df~h0*Oy z`5AG2RQM`9^ep)5L0^;Ls|S76jY0-rJ?N|M5(Hm8=&K$S1YbSqtDYcY`?Is-`l`PO z*|y-NasAYQ24oMufzVHVnn;0fAoN$O3xaPT^jG1l-;fvh210)|Ob~nnp}z`W^@d!- zHxT-(olP3nbbvZgXhLfaP{#?`@_sAh2B>pP+7LHTT`n}?YYBtYcLWvWUrQLI<_LnX zB@9x(5CmUK7^MCr2)>puNR^(Ue8Sff2B}XAg0CeEQfmopu)Fk*?!Z3BYkipjyhO1iy!PgQ-m;_%-7^%Y7 zX2Ak{En$>;%A`w8N2|95!PgQ-s|vpZ1DZEl+-^EXttbe-mM}(r#w2&hSQWlB3Yze> zgt2OOlZu3lQzr<5uO*CA=L>?bC5%_s3WBdCq^rA$@M{SZ)T2TMUrVqEzLqdi{a(o6 zYY7?ZT|uA4KN~Vhbu^;9d=}p_BvaJ{9h|=_ZnFB6pq|YS#J!@{5(Hmam|_xqWnrq? zO32{53e!x2?q0;ufi25b?3+6HeDm`XcUC z^`S}U<6cvXHpV(rsy7c|E7a0R>B_VG4FW6FN|J1EgHFEx#&X zskRU@T*p-71;M#vrP`h}9WZxWsdg2Vz-g5_kTmg3`G%TFGMuHaR^KKWpRN5Gw_4pp zGMp!`R?9sLxz132iFz2fMy)Ey9qo!=qt+3$lFQbrjRkFwa>cJzTOq-Ssl~5T<4r0Y z|E4+v33k4hir=KJLZTVc+iDIGT7O$z)dZ}=8NFoOJL;;YJ_?N6qV5O*%3|9Z1jcVw z1DXNRTxuJCRTarvjIS5JO>HZvf6FHE+trtmAZIh>o$5#=npy2q(*;3&?ot;bW#BA* zm%1E@X6d`s4M;TW+O3vu4)$Pn5gNZoO&~%G@2Q=T$iiN=yCATzR~>^y7WS%>kjTPb zbv6=N*r&12x?V-Nz;$iI)dEo zftm;!n*BnlipoHN-^96lA5on#D?qh-86ZBvt&@n-I1A)Hx zQ7@o-g2Hyy$ zzGl)}@t>;OO?of>Gxakhni(Hc-C$C4Jwdu zNi7{sRBdMIgdf!#NLj2$QjLV4)r=UDebl!=LY{g9iPkP|n{(O^B3G5Wt;WTIX0GFO zomJ(2RR<$w^Q(#a3HQ{|CWR#Yre>HFk#Jv~Zc^KX2kJbNx+gqTmzXp-;dj3)jYsM# zltI7tut(|+lO`lE?J^S8u2b6)hdINs)ujc*13|n%=F*-+F+ZetX(u^4yI@iY%)cwnBdEcgQ;2#B#7!Mrc#Wj(!rLBri~}UTx(jrM6j36HnkcQqibIfDYZjqxD4$9 zQZ{Qle0GAN?N0(tpals9wdu)3Z%=$Jp|G}D(5s;<6N+dj1nnNXHle6?S5Vz*8xx9Y zbZtmaR2A1srT9uaQ!cJGM#^DuHTZ;5t>0y<%Q$$K? z{J2t8wDU;mN|*R|5~^rF3Yj|SVO*dlrD9De4SNHX7c>?rL{Q&$!7NaVMWSn&Kr^3k zMHHwlB27H61ZpcxD#B&!MJj`bywtR+w%wG?l&flAAW_X%(|)$eg0%u^kTa6i)T$xT zDqLNkbuYZ($s%~eQ(f&D)Xd~>c;fG(@o9SCeNPQcg7-Z&veBV(jcv59RTGoo4NuKX zf;T*cngnln3Ns1b@Dz^ZTLp*`1gii$%fy(}ujfwYGle$&?DxtO35=+bP?RPt$&_;_ARG|A0oKlf!jBKl&Z%s!Iyj8HRc1zIW<{@#< zX+dpBc0B2)gm&6xq%5{{{;vrgwGz*PEQ@XJ9uoJwmM&;}_wS8P+9E;4tN)(xg0@c3 z&1%0Vbk%kU3al+5+c9dqXUXSEH+73bYT0N5cYF`P8s8%_#pH{Cu zX?`-cdSZWVhM?ynYb6fQ)(fg0{7m9N?L9$3<3kb$X`dlwvv!Fgaf7va9jJWUhCh;r zXg4|%?d2=vL$%Q7iO#nQOB|*x7c^vEOyY3uhM+H6r6!KlMt363h^Y37W3N{0?R}(dwzOuS#A(_IL5BnSBu>|E2-?nRhSu{%D$xg#0~2RzgS!A_ z@pog7PR!EAclA+b;yf**n~!EEF3=*o`)Fz6V(qR;s}q-M^LqGXZzV3*LVNmXN8(ED z91=XWe;{$S_T@_;gH^wSiEFiUNS7S2mbX@n*K}4}ubt-eRsJ4G9ADOJJA3)!9Zg)X z?MH(3Wd6np?U114`uvNO+A%@1l7iWr+9^S6l8SMb zQX9121WDtIadP(t>zTZk&LnQsHXx<5rY~Ghd|Na6fGn4_nSUd3i&hkg%CJ={?MKao zX7tPV61QrRrYw-Xs|^&gVO2ay+qJDW+M%5xQi@idmEpRrxu7Z z8ZmckwfraoDO2e?H-zoh5(JIqD_^^{wt^OO*&eO4pf|Z}kM+j*X z1lA$f?}_#!>wC2klnQS@58JCPpm+>4_i0}Wf;!vpS7!&bb7nlg?_P8DvugK%W*|}R zzOU63GAR4|T0=o#A;-)aSoqMdUUIcqN(JvQ=4z>CngJ|V8*5ADpkKU0+Fl`pG!OaZ z`XepZOoi{|*Us2d`A93&AA1k>pJiKMR^ZrFYB;?XI9F=g)AR)Yu@jr_`L! zzmB4*MBGA&q%X8ONMzwlEevTcyPZ}h=}WB#66B>y(kbl~(nRauXq5*;npD2iS_l$o z2C&mw8zf5ejMke74I90F-lymMMTB8+!V+l~a+?=_RoYq=&h zOuC?*G$}mkJMAJ;Itys)U>7xgD5Oa_yQq~xg86)w>wCZX(j~w7(j_f~;^CV34_b^M zSOxzTOGtzTc!vdwri26P zN9~Y^2mS0vEzi^pU{|%@Y?{}!Lc^#XphVaFG_Pw7P)7Cnla^@H{7IXQ1ohH8=4WlQ z(1i2f4Q&Sz*8B}EbU4-^ulbHid0Hov`X>FNjWlUk(oJo?Nt2RpX`4-&n{-<{Y|@gX zJK80rbk;99fc>gHAQ|?ayIQ~qt3>y-NF*x5Z{i$Iyz$l z8;GzB_r=%)cY(895BzHBp?1?|;df0NX<7eWtA<3q=aCkIl*`X?>ywzCXwzi+Y|`Yl zv^mM4UozwMj&bTg6DeI%cPcLZS0pNtOLva~do-VL>CH?k8RypHh_Fw1^i)$eD8{1) zjP}JV87JxX>pxkyU#H4?H&b&^jI7Tvsbrku7f;n+MH$Qlb|$I%Izczb0&PcvnwTl8 z`T-=kj@y@{>0gqJ-+|j2Zs=D9B@738B&hpXpmJj%*O|(LkwC2kATFv-x53wmo-2s89=1eM}@?+pDi5gXF{DA%ks7ObbU1pyA`)w>D` zu6i`dtEY}9Sz}HG^leB`S_dnre}+VDR8YT*1ikKbvj9CX-PaC-VhZa#dHx6ej1?`S zcP1IOUs1g$60H^%)fXbAvng@eF~#&I6Uh3jaVL_B>(`L7n5)IPq$l*yi6F~jW9wf_ zDxohIw6Ol2q$l+Ug5DedO+-n3bOxpJ(lm-Nky9G%VLX#szi{*Nt?9uvHC?k9E`eh_aGeQ4qx@A4ZFQ096V}_NNHhO6! ziq}>zIt#7iQ#T#-vPfj1gI)`XG&|}GZS;blg>HI_*_MTFdNfjwvbq+(yQ(JkNMLVEa)v(3q&>-#^|dA)OrEM2TmbPv^Yi3cdJq!4o#or) zdHPEWQKsDN@I!L8J^(3QdDP)Lr;$Q-t<$aK1^NUb`?b?=oTdrcQNHtUp*~m0E{5^% zQ|e2E4EBF6(pL!?ybEKIz7c7n^5Y;!%3^(+ko`JH=d_>VvA$#Y?tT5KMVK=-d`wHv zt9q)S*_@W>t4u1MvQ)o|#GeK%R4!$iUSToCOXbh}tk7!^Eunm_aEAOj_7x zbjtfCMHYG`CC8*D$$bjunglg}PmK%c%C~+a<~e->$|kaA?lmdr^nJE?=lwL#>xYGAJ;$1q z^ZGeKbDSGfF6fs9^>b}W`A#ps60A>T9X(r8F6t42rm0&}zSoBc3emTuT+&wyN@W{U zelXKK=iZodS$|u|64i|0b)jRM)LbZ<$y?kD?6ue*xM0J5L-L_t-hEh#_yY2MJg2-zan#*`a=vOImLO_t{;`$eB( zll|f+yQyy#GX9;ul$(CCTe|TE<*b;rG3Az@?6zK7$UgHFaNXAHBT+B7l-c~vE%)?g zLI&SJ|4m;b2)=>-n>jMT(?R!zb-H?apl_yB_&DKV5A^dUwJP&aFS{CQBA37WyG%1? za4-MM@pPEeh&gPORNkUV<08wujAt+&obisNNJh9V71`)$$~;Ulx|?(=L^TE=<**KO z=C}=GtVz36!lhO&a%g$`i&( zGoFW)G|rmzLr5v(iW$%O#M8zdlkS8*ZFtr|z2vY-wAyjOSrNMr)I9htx1$FykE$t!4Bz=`<&+UVcug zV~jE5d02fT)1(I>4U8-^-i6Rc#%m^BpswB%>S>^cOuW)d)7JC?~5#dTMK2OGgejt|Cxrcc)Fl@Lx1h3sUH`do9apd&p~xa?IVYL&sp4j}`3LyQ}Oz}^s} z?FO)y&Yu?n* zX@?niNv4AJVSd&v8CV}?u(v1`us+O45CqnT8Eufj`h<{SMt36R#R4;2!;L|LV3*f$ zW4up>v_cR(6*k=1BnX~;9B%9u1kd;lHx3DcyVb*ulSJHJX83U9qL95FthX3p!&%^*ex`@t^%&H#^*N8aekWPjI%;> zi=%*RoN*Tk?sIiX9q*?(;SW^n9Vo*@{=M~$DHDvIg0}E^$V6illDIPUi77?0lYG|h-YqMXezl1S!QJf~*F3^DV_ z^(>w$eks)YTs~$1g#zH~!xNLza z1I>vR8f|t$yj%tr78=i+R5N0+(H)6$w#4Xb5`T`}7-MRVOsH zWGjs$HrYx)*&9abT~^NC@RO}Es@i00{ABBl1}KAE^SApOkv7fs#yV40tJwx)pG~&O zuWdK~fxbu0iEN!KkZm@8N1{IXwx8zPhPE4W&A(p2`@FyG9iyC(!S&HQMm;3R=ls+y zMgmeU-jCaAbS2{Ne{ry_V$`QM5^Xhl?*R*N94$%R>Sz7kKhQ(eoXG0B*N6Dawj1T& zqkMvFyI;H=MlG9chY^WHrQPYLxzk7$n(*Ejf7vc$p)HkNe(`o2#rIm)cl*iq7!_@@ zJ$|zHjLtUMdq!VDs4;L?t@l7w>?vLuf*Y4jArzkWXl% zh4TBx6e8AXPEP0t#v!D1_Au1JJ}`#v_i5H@_JJ|oq}8b(8mmm&n3`+sC*sc>%yAzw zJ{B}Qc6;g}EZ&N=tMhog1cscbm$8hZp4O0Ji7)yNT4Cb==Eqk>L%ZjpA)I4S5#=Lk+`1s&z{rR&Be zL1+0Judn;%>?h-Alucxiv!9ILh342H@o6^<>0_)HWyX-!oC*qB%Vl}S6M}YfS)Ngr zh}Q&v+rAOvM=>UKO8doVhm_0r&4iS@X}o00lC|5$aGUIop&dr+JWaLuU86J-#k*&0 zGG#^L?i&Y)_!r89*#qO4pla>Ar#&#v60zZ7ec~P%*92AOvWLb!B5t8b+(Vky&L=}oiAT;8EXO5VWnX>RW#AN2y-Bj_QLea7kbev2|{TesIPle|CK zWRmwGrNT?pDNXSjpFqxX`M#i4yrkU}Q zo+#|?DrBHp#Jd$KgRyFd$`$k0{1oib{N)MnGe}^s#}iL@!;vU2CA>XMS+Z8rJJcpC zD!}74_U;k% z5vOOpCk4&rsWkEaBi_VobvJ&PbI`#R!|upubE$ontL0e40`gywC3J!NOXQ^ zB{XRlcc}Ljl+9&d&Uzy))EjgHEMzfnuMKHo-qlEuN>Isg?>3}Md>?KIi|`&KQr9-v zk{03Rk@#P(*N;4;`Kg)8POf>@mP(}enk|(`?=4evUs|Nsc@pwMxsLWLUyQdb$|f?W zyLZVL?=ylfdmJpr8-@hAK2$Eo+uo#)(&D@?BVBUToWQ^B=p7(v*ed}n-a8qI#)1Uz zEHmEmv;^-;lfFqy^6s!vs`sdk+ITP6sGav$lP;!p^cr7a?c()cXTK74_Le}|ME0Tc zdRk|1WkJMM-rfZ0qJZv`Z>*Tvgh$Y9;3t9P^@SSRZ0HNJs(v~JVYTOWz6clEPw$-sJ7 zZ*$T_>s`IG1cCLg-UUcxy{lhoyLqjJepw@ep#fj?Z!Bs0X{>84uD+1HlEqe~po}1*T6mHU`sq7zg_Bt~4jh;=8?E%w3f+H=91# zKm0#B|EZt<^o{=<7xr<$?*I4t#;{}gAH{W1R#;$Z(& zc=>97OdmoV>~Z0JTm4ZVLiqRA^3^khIM~0c4`*cGdD-4-{|Tq_=6~wp|7|@C;4>vB z8;0{GyC3?hQ;aa+ci@=wPlQAjg_NP){YOG8+`)cp02awzG|_j2I+*46jeb_%9L!3= z#rp6PxiQZkQHnoG|2=)M>pRC;Df_4Se^V!ad3Ps3y%i1oV?A5p4z{fJpX*rR4ot!S z3<7CBKHQ4y-@aD(UESZR z2_aDD|B6eo^1J_PI{!8Ox@{o0`Q7}f!PUK!!Ii#)+0TP^|KF+S{AVaDmhZTDTsutyX?pzIXVAPfApvLXD(4uAAR|8%mLMi5S#B?nsmYW2WRA-iUQ zzw$hAi?;@MHM$gw{O6iOIE6I9(T_sxE~Su&In3z|`X|eSd-!=PZZGVgln&{isR8*s zhUq`fPg06S7S~~(uf{{%7kJKH?0-v0u`W;>HEKc5)9QfV-m5LYi#@`AZiU!2|5<7N z)O;b7TdG@X&1G2gnxVOw z<@Yb074BPO0eyd+Jvc{t9`9dR{(oHuQgAXz!NDxQe>zt9<8>&{f2YMk(^sy?=|d~{ z=Yi6NN{!`(QPyZ6-521M)(K81r|R>6S~~w!J3cNQ7+*-# z=S4KHAeW8^x-z19vc2cn{r}Ti|9@J3;7I?oH9#wzuG;>;bZ92dP!D@s5S~QIzzOmHFXK}Y` zat+p)ucF&$+IGK-{aDFg>SEDhFi(4tm&?Q2;oU|$vn2BsUEl2S8ow5H;rfGbZO}ST z@iiGtlk!7xAx&TXJZ?-#!Bw3>Jhx6(8}n@UkH+vHa24fWorBRaZjbf%LnyZsa2%!; zo=bck!^y}`$39&l?!+>J^v}lL4tRA>V*Th@0Kb0s&-0?u5OQ(60)oV$t>02QV zcAfW%KXXCH7f$QLG)8@!4&l=ocG66VY}xxje*c6yP@*!pc9*}E zA6IrthiX0+Q=lvB5Am)OxV~|Q!m0KsHL61jd0cH!`Xp_KSLpdIQV3lu(TX3PyXhFD zQGF_o`Q*3jP{`w~|2yGyFN0i~XNqysHp)>B^VfE21hfUrRh%pq#|?5Rq(wKY?@^ka zYr(98#s_QO;$&JQ(6o=MRNjHM+OWrkk%#XX=dqlOtk~<{UK{o_@AQFKR2CX}VEvij z`{V1YPBuZar1o`bOVh>9pgyHwpYtRYfjLi)B9Ox4!ozSb(YiLwk!lqM{Y<{f=V0I9 z>;mTJPCjb_sXa9-w+>bWYeO3FM=M1zwT_q?=~E4mpZaa`V2EWu1Hwq|5W9u9V4CET z{@Wu#O0{Ztsa+`K$7Yre>Dyb}9*g|;wy?+TQp`%n9&Yz9?g~0ouD?$CaXF{EUG_8| zmmhooA^n;-V%YVm?-`h@&vEqLI1F<5)evY$^5;LlRL4825KgO|4z}=l&_9gx3ejGb zA)QUw)~j${R~6?HIB)HSDhM^bvMvwebs`>o3?6IcC zLTYqhHNWOxhtNn%Ir)^2OHS4sM<<$7L5NF)K(BBz8oR6>MaL%OAI|$UG8ZWinst*P zSK#;MjlvUg4LN`KpX=M>`ck9gj>=1EPT(^)k~$e21wQ|aSlgsS;r2383YP1;E}*$0 zh1>o4?NXk}rFteEyG!Ae8lB}Wi@wqcTUb|-{UHDLyJIw~CzsB}mg{6;13{lcLVAJU zI-~jKx^!Nnve^Br@ZKwh)10slo&hP(lrqhk$qm7o`J45ieShNfQWv8TD`gjxhe94` zCS&(gPqXLTi*rIs*`5aqp;3rxgWN56x2X7tKh}@Eu70WwQgEGY2%c*wt~EpU&6%l; zc9&)m)E3l&6xV*&o30HZhrW55-8%XIcpc}vYWw5W99`M@r1o>7y*8{G^R*_mlwHT} zxA#5r+h?2k&&3V+asBx7Z~nO!T}M!TzKp9PVSCf|C#e(=X%j4rx3N(}dt8{2}+LwL| z&M?WPb&Nw9U?n;W@<8GB@JK9;BQxnx>o=VSnzSy|dpzh5UDf}W{OHw$6*u!DxA@AW6p%oz9&AQ`tG?j&{9D5P+^VjY= zoO{2(*D;)|;v&%R!`t-FV!^z~R}bX3=PiG3DFm$Zog0{@Z^jGhjBWQoRX;R! z-EXf4YZUSy)95Gz*U9W-zI{}uddnYj5NCk)ma@hH7wd&{u>2wR9%%Pd%R-)gcWfcV zH?sY;)ZUluAo{B8aJGKAl)u+4L*9qq0q zg*%S{0dBSz=U`SiosalV8$RayW`=aEt;EriT)WhszL4@U$HB-Cqw$}mX_wNx*B)Z` z+ig*c(D6&_tD6F`tLhR!$`RQCwQW|q; z258L#eZ7lvOPY4Sz1KZ%47c0$WcqsYpQW5XeY>rk+7Q=XUi(;@-%saXaGk7VAjGxT zC;7=DjRR1(zFblG-*Ks5k>s6024B@p?ai_gfdMiM37o_K-j7xS7n)gC2GtkETEB`%58LPLXo{W5*sscM8a* zXTI|LX?2vs>7E+6zBSvw_ETKDj&*<5m%}fsKx!}sy2O!AA(i?=O&&%m`Ki?T+k)D~ zUX$dvm+o_0p6&iBe8%Eii>9&EUO#sKKV=21I~ck4`wp;L<*QYib=XJsn(+{;K3?tS zcS-s<*REg3mO_4gdfJ-8VNV)8mEe1$4u#w6gjW0>_Y@LI?Yl25zwgdPf8M^n_1?#& zW5u%X#Jv@fiFRrQ1+SspVh0w%_Zt?~b4qZ(3m+%8ygu zy&G7CaI)6(pcMAegZ%bb_S9g_*|)k*Y1%daRX@VH*Gj%{vI1vh-v~oF ztQQ9%)|uM>4iUA{f6b-+V4V^mCw1$BmDhRwlj~%!U@Opi$YsobXmyY#;@up3ED9&L zAzw3eGJ6Q=Q#izOu^~8vwTF;(2=Vna`~4ca)}vK)+FcWeSCRIWrQQ?ZDsmWied|jw zkEK;32VN=v*_@fiZM!CgkV~_Dn78{@75+|$eU+8`bj|f_CgiOEuK4Bm+w)-elSO;$ z=MS+HGRs8ox$xvSxUt0P{oN+x&*&Y>H-svu-TI(VYdky0hl4msmsoYwmiPHQ~R(u70dH{|$Bx=4lV+X$gUn1-J7R|9^`A z|AzlR&1JvwcQ^jVI=k=lUol5#cO{4FXvY6H=f5OJS5GqkrSM-W|E2L?YyNA)e{K1% z9sjlGzYhG@k^i3Ozs~&kqGPtFyJMbbn4_NS6-Nkr#ql=(HRiuO{=3bl@USU7YzhyX z!o#NUu&Iu4{(GDMTJm2W|J`QOc-S-^HjRf(<6+Zy*gQuxTfqOXcf_+@4vqib=0A!5 z^7!vIyXx31U+2F(hr;f2`F$?G&*k^I{63dI;9(DV*aIH+fQLQcVGnuOLmu{!hdtzB z4|$l%;2qh8xa(n0qQ4w>HCCIu0jv?aEzpfZHwoS6(0u{jm(U%6?g;J{<8S_iG^b#Q z>HvRjbX%Z1fV(Bx+uRLc2e?~~<#9KVU2*i~?-HeVmKyB&R~m8ug>ew_JbznfQFgUw z6nnvOmA{?y9@pnz*g>7q7@mRt>F96agp{wiKu2|N9DAD;au0p^K6AL&4sup1PCM@Zp-yM+)=D48b&igl&fSmVvUv(| zb(U~{&AuxfM^JMeJ2(6jt~oI4D<0mv))L1FW>mf5IK>K9l$=-CFV6(C^XTTW6BQ)q zI<}}+A?Im~Th$%Yzozpd`WrcBw@h$e6KNjnJ>Gc>)2YpK{)Q9W?dX2!e86@16Pj2L z57?cNSDl8Vg!4XkS9v`y!vWt(E6Szq91j?LU9FsZT1wtJm>#QY`P ze<*vkI~DUV#Q|T=N#%Li;p)KqNfhhKdrl*E%yFyk9j@86SZHKG3V@C5})*JJA$`L%Tj^~u4QG7%09&Odqvk2>dFj^Un zR@Skn;)B@%cT%ru9&i_WRNkXDdRDOIShrd8gPFs5tI`FJ!}(70tK2=FoyVo!LmzlP z!Wvu0PS%8)-<`a~am?MYR&8mKYiNT|X%Cjp;e@g~oa>s8;~`MSJ&r!@`O(2@6@uQi zuK7Ia6nm=TBIyc-oZ=zNxIba!YVHoMx=b43c!7TfNOca69Ve;opX2vRIhb+|rj~=L zK}!{ut2)0cR8>CZ{;p6>8A{PaK95Jx6?BhaEI6hD*b$7oj=|Sa8#xy>EXKeci2h;d zjzQOh;Sd%3%* z=m*@bTyvx6lzY>d59BF)RJqSiVA)SNI&}X`KH-2bC*5;D(c`SVfkEAFV8h2=*jz{%o z@Z&T$VTLQuy{^V1xt!x+kXy-fzm)KZw@7+-2tN?^i0eNYt|>2ItQVZmRfpql*ziIM z93#b*s_xI*mQwDq5A&H}@iDA(|~ zxP|HPSo{m=r?H=??g#vcQ+dzXr(9ukDg?7DtUVurSFj5&2J<<6AI{ z73@cD5&9&wJGiyEdsA5feszU&Oc?Zp%PkePktecS5$;|aUs7%4oD>H7a5e$A7_XDg z{McXN9#g2Ax)aBfE9~M}us$^aT(EoP|FHHZ;87J>*l^w3x3_fmJ#0xJs4OB0yDX-& zK_nrN1Q8HBO?Ly4Y@|Ct1Tm4gpeW*wiUx@*I*zC#jyNWQq9f`!u8gQb;;19;C?Yui z@2NVSG$hXV{m=jNJokOiIdy8ewcWaPE3{}X9VL#7rXlCrPiiL93H>DI((@tHuTV|W zCi~0mDcTJ)MhQcISUaH`dRs)L-O%Zmr^59Ivahg*>ooh>f!9H%b`RI7Cxq+NE5c>@ zpI~(1HyPu*EoKofJ>xMpA2G$txGCD9g-_d`&|NqE6<9vJ-A=7wMyq`^_+5J;>f{jc z>C65D+&@DPE7Vpk2nWuXMY5-q?BCr^@`yPkPlEjkJ;|RK_AJs#3@bE`vkw5i?HB?) z=olV$RQAJ6V@+HkWSU`)iYYgiLf&xeqOd10hg60QkY&!0_$u)JungSqF4IWJPlsvd zvle_1w!wHk_v0`(@Osl&oyJ9m#3?$>$$2`>$wly|C+vNj9FB69qbH1YjFqWfgnIBe z21wZ}V^zsm8Ib4O0#Xj>^uK*m88oq$k@8wAV;z9yUB@9{w3u&xY1H+m1G+t*o*iGnDa^gPTQ!{^Jt^K`@CHyxB0D>`0$O==N6g!-7?2EImX+t#+YwwQx;i< zM`fv=l9s2~LZzZ7&Yj_p%JMWDk2kf3yN#9O?+>RL^@Z?9QN!ph#-|wvq~){lXGJGg z4!dQJdu3|-WxciNG_qQBY6ZJ7^}?wU-x~);{BC_mmhc^!`$6gdj?C+zEW#E56-LTQjFi=o>G!G(6ZL^` z6ZL_3xk4lSP8(pNUPP@HjrR|#y$lnz=13`zl%XxEJZz^DjzwzoZBt}wQ%uw!jw1y# z;*vd2+GCKy0xge2*UhMoI<8N^FXbKA*I_I_tj~|w7BxwK>7oatXw~tU#AhVF7-ct6 zPcFn0|E(zM)o)4r2T_euULmnkBK7vSqMCu%o1EsAxsis`yd6k$-KR)@%fwF+cjYCk zted4LJ!?LVYT@>!dr3h#6GWwc#yJzB-R9}Ta-%EtKRG8vuP{G9YLr-ErrGR(HXiGc zMsw7{3!)p%kKei=S~KmqV^MUBDKKntbhCLEeyw(_tg*4O#)@QZm&ka0p%q=k*dRG}%7aDrz0kIn^nSe|`AkzuR zSOFPpE$rWEYh}&1$Q)Z_ov)QXYo&j=OnIYB;TBo8yQSww6U~zwk5$2pAlb(RoUqH zHaSB&P4~A%i+5zo2W84m(+#;N#6g+9({x2{v~Ze|TX0^&G<(Ea#NBz`^`=78hxJ#) zcgY$!B4f>wp>t&D!{#s7+#7#XhMtt6G?Pq?n2(Yy&<^OIW_%b={VfMiQg6q&P293%L zgT~PSgYJER^c)~PM@r9;GPRL1HChLLr|p;X!&rothD`z56N_NSh=bfeG0&iRwaB2g zJ+0x(63bz~Byo#rURAsO3G-VES|Im_yu~!K>hZ)5wAAjzi{PV)i)3CG$-FvD>Hgh` zUTODAyI0y%^lR!qN=(rY)OIDNV}-0IRmqYEWXU!C*XguoezIUx60Mw_No$e9oTL`u z(xi>R(y&{A_C%+dewC}k{K#da#4tGvrAVZe{8LGUFDGp=RilJkOuyAXo=9`W`$_cl z`6TIX+}(&|njfw=ZN?kT_~gxaqajq5;2iRC7`;1u9QK5qRp>cBBe}!4=$1<0bF(Uw z-!g^|UkQ9*_!?lzj3(gQj;nzO9UFn;?3;np?6)DWuLEsJ|LefR$%We2foG7yoaKLm z{Ha_CY-rk-+=$S3W%~b;>HjNv1uUN@R|0>O_Fts^mt;3A)tKL=UKpKHs7<{vA*B)W zfRq)$^pr~A87XeysH8avz0Tf-8q>t1jMR&sVwrl;ZrO|W8ua$GSGN9c*`wNIAKNcO z_e;z7#@`p-nex4{4@l3!M}f~Y?M!*cxPAQIl!K_%Hu=>4CZ$WJ)@9h6sTX;3BKvhA z$6cl)z>)oq%G{3{kDc#?{2@cKl*vmEtXeJFWfp!yoymjO>~&o)W6-o!+h?j z1N{$ZCvTrw1rk<53B`Gs32i7Dot=PejeE=x59_%~BIO0vt8 zuD_4B!gT$c>7&E}n!)Vp`q!m;(gD-rqGt!B>px9@VZZ^?=P~;r|5|#5^#E3hUk%uT zk{=t8u2GH`nQ2bG$V_wcm*&TBpJ-Ic+ygTAwKDg$GWQml`$jX(Dz`|VyQNQyEJ=&B zr)wXqz#fZMob~U4ZPKz0yC^>mOgEO^7%}Kkq_9AHN@BY4%WdNZO~RYFXHc7_X_lk02Z2B59UOE(49CvQA-Vn^X1r7S>!96c+C|wf%lwYKqj$`-m-4VU z4^O@Q(sIx|(*Koy(EQM*A*lz=Lx-IK{Lidmz=~UjrFOx`EV|5_1LGh^d#0rhz?^Ir zgt?F(T2hpnAuWWtkjXMqS_pF?lVz;55avQA%M@uL%!N#rJZT}!g-n(rX(7yoOqOzK zAzpHoko@4M+A z){|!XrC`HC@5SL3dUnLiSn(EmhZ-Q|0gx;0Z(&wUNW*M{J)aH6aNuUhG+Pb_Hp*R& z4C$W%|J9Krr99F?y?Tn2r?5=@ZHmlmiiOswc``IlhUQsleM=Uy(^EdrLjHNupLUj_ z(_<|3EH1Lp^Re85IXwL$DaYvaTYz56TZ@a*t1O>nElLl-UY))cK8w;@WG*c-wHC{l z(U_eG2uAzgR?GFQh*u ze|>JZ3e1F`+?QzcVl*1puK~X7ib58Bl~q(R$;C?g7QofM=dn(9ha+=ld$YE zb(ue(Fa$mDju^rO^h5MmwBteZm6y*L+-1JnOuhG_n%T>I9l8R9E-mwixd;Zrx`YpC*p?M#0-%PED{5OcS}nv zEIQsNlE>Px#v%JdVlePgaVGH3VkGb>kqO)-#t%h~+GJpc<~Rd6YA>9L9JTesBE@WJ zzeRg(M5MSwdk1*8_93uUiydhbM>NX)JB@Nbs!=Y#Xq3xI?P`PyeIw8SMv5u=W?;7d z05DH~7C1wH5m=;u37oBqvm-^h9s#^i9}c`opA4+fOMzZ}6>yn;6|hR*2CUQn1Pth} z0axptz_t2uV3Tec6)9Tu1mHFLSl}J{d81G#`d>#yh^O=yU=gNQfQIRYb8KR*iOSz( zqVl(xsQhOcgGSrLNMp!o)V6UJrAQ3`Pl)t!IrkiPct-WfE(xrmRTu532?Ej@1wRz}lH*6JJ;< z?hz}+{mx2pk6J12SX=5Cw3lrnaE5Im@E`UYfbZCE2Yz6010J+@06XnR$Jj)dJ#H-e zPZ-rzxP#J+c2Jt}4odS5X}MckT49M5&nCp7XRb&}9*e){=$||`RwN9JgMBIxJvNQ( z9mD$puN+CZMdD);J0!j<@iU3XB}SZ0p5r7IN}MmTT4J-r%@R9+I9w(i7$3xO;>`KP z{qa|$#6v`h@>mI3(@HDZ$p7mDNx3k{K`eCWJdNA>-{J`7AeHWX+ zPl|n>G`0_s`Zu0z)^j=B!@ORy;n@bh4)wW5>IvRXupjMu2u$f7W;+gMO1laCq?qDO z2UGYEsT&?A>$y^I^;Cc<9S>Nx7whX~_(zMkfhqoWse8P8Bwy=2EZOjwER>Jo8N%!Y zQ#o^`p5XOJ{>HPO_3e_M@a|!~6HNIZmih-?VO6>YrgTi;C&dTebk>JR{dcdE^<1f+ z;i~{sI&QXmq#fVA&s-_kd+N2XZ;VvYf0tncd9I%zMG)*E~qYYXQsrSnpsy#H^)q zxtX2Jd0>j?X1$qt8*>NqA?7YH`DnCu;_A7btTOaFAvpE(aK{aHW6+{Jcn zu<|#7cZhjDC+m4&isxp%i*;>?^3MZPco%be2A7lB&Flq}Uo-35m^+vcF?WH<&pVXU zW%iz-^h023&o0)rGnMWIQ@lg0cd_n0i|t^FrwvnVfXP3d^%mBR;mY2^Y>Z%?xdTk; z9Aeh+w{oN#U`nqEyhH4`xP|pr*4rh&dhuZ}`Qwn4iU+26Y2Y2=+lz;=JzMJOu3XkV z%|tKd+ybU_wzIy6S)8Nh69Y`)>0rv=$?RrsW^MtK-!|5b(MoRyQ@j?| zO_@qJz~n!K^;~8Ta|?&>Vf`?(fm4ez9+=Y2W%e+)aQHUXw=;Jz?_oZ~Y>eUbz_OgI z8)KE-2`0OnxrOa}SU<#km{}XA{BZzJ#xuaO{#bW1dzjZVw}8oSJL`Lx4>RKspGprb z(_?)Ib1t)oc|CIrnEVfeX+F)Jpwh_$%luexWBoAe#zYmK2A1{A>}C5l*7verF-iG( z!IW+j>)V<4Fn5CKIfi3#GTk&V=@rZ^V2aMjQhq)b&fLk|1*Z7Isr=HI zvzaTH+rZ@4&Uz*; zM_esz7x`RX<_s|TXR}_x+{E0<+|Jy|+y$n1qJYxRsAvI`-VUbw>0}nuxm;ihPh&ls zxq`Wgxs|yMEYoAXlR0mOvb({QPc!pgw&xY9aB)7BYjK4ErgWOXj8esW znZ0F7?*!BPp(t0JF<04*3z+9A?zm8u?+~+?ulzMI-G3VE>8!h%o0(e{sdU;dR_t{t z-dmx#-J{a$WNyDi%@>_Pu2Q2Y$4qwaVW6ox-U~Xb=Wo~EQ z3#R(*WIgXPrSE0#TBr2v%T@Xn%q?Jwm)E4&+pO5QLh)YaPB7IQ4q>bMW6ox70n2n+ zIR2F!pIKbR@tCujE0|lrGXB+y+n6)1VVya9gR0LwF!@)o-oz}fRpDvO+05@QTcT-d#`7mx&20Uf1S+jn^|WTH!0l!Q+{cz?`6H^X13p= z{IZ$zz~pb-s(3H6_co<>F?(-kow@Z+l}>w*@8a?>W9uAMfO0TrGgmOTGj}qJt?bX7 z&0N7O?%{Ce3^0{DoAnCjCgxV=E-?9tdpSOHHgg4Y6LTwb8(5~_s^V2Jd%5|XX0Bjv0aLj;S;t~tmb-$vi5VY5RC_ZwF}E^zGK?MDwx_+I?Agps9h@F>J98&< z(~By6FPQSl*rT|Gxr;gbWuDi- z>x_>pS`R9FJ98(q_(<8)n6sIUPOgt5oIZ0ab31bU>4tTICD001#=T~D|0(@C$spT<1>4~)E~S*D9-zd@AGGRZy)Jy2g~|p#vd?A z|CZkr(_gMpcp7sya|Lq~b1QSZ&i)Sk${+SUvYA^Ye|xbACwrl*Lh@EuQ-tzwWo~Eg zWKN4x;n~a;%uPW(Muj&q?*-HSX2&Xf1+zC^+1r>q!E|3Df#atsZe{Mw;P9b}+lH(7 zO(WSa$YYe=&fLk2KZ{f8pQkvDxvfB@V@y}v2_AuO!mTqDw}WMSFpENt&z#L%!Q8~$ z%G}P}$(%h)#jju%C7d2}Hgg4Y6LTwb=LO1N%;R{>+032b=frk*(}l!ex`m5)^y2Ia zO`JgeRxr0Rw=;J#K;T%oWT{%ri?pZOGwh@6 z3+?sx8|{zV_u5~vzhOUU|JfcBmKioN%oA1{))3Ydc5T=TVMUHIN2R0Iafjn+$D59i z9A7w&In3ex!Y7C4gf9udCj61`r^5Gzza9Qn__6SQ5obnBh&VsO8&Mz89C2gBmWV$^ z?233X;=>3nGCDFVvMACW*&Mks@}|f?N4^>PS>!j7(NWH*vZ(r~rl@P8Zisp<>OWB< zqA!VVjJ_heE&3nPpG1Ea{Z;h$(Z`~Hi#El?#0-oX5tA8nZcKJeUQ9`hH>N(OHRkb{ z_hY_@5wWqcg|Q1_-LWfTH^<%)yEXQK*!I|cv0btMiH(R$kIRX>Fm6d)bKI?Q55#>C z_f6c6t2b^TiUZRvMUzX$uh)bIU%rvCl=pVxnO|3&?`^xxTkZ~ssF zivdvsTm#k**fQYF0S5<|1||+1JaEInzYjbyaQUFXpi2kcH0a?$I|p?PdUH_cpl=5q z9W*C(VX8Z|E_G$qg!PSFX246dP=is{qb@I0O4O$eWSP?G< ziUcu8B#PnqYuJ&ZpEw&QD#qb7(|CkT5QA}AX|$MxlS}6cr!nSSVJCMPik>SgaO{#ae`1CYFeGqEcKf zF2NI~N?b2$#0~JgRn%c|9}rI>#?$bAO*D$v#iim6#Cj7k-Vv9JcSW;!Ph5dTPK)?X zTq%x;YsBwjgK%iq;(>mhh|o5QNbPzNt=%AEv`r#byHUj9uUO-?oA7|WStM$=h$QV+ zk*wV&`fIm~0oom6pmwJiq}?S_wYzbm>M?Pq_Gg@?dO{4-c8TFyJD!TKiBZ}cVuJRj zn5?}mrfTnrS=#$JWpzN5Yafca+CfpNeJmQZLt?e|skl_@66>^oiz~Iy#Z}rD;%e;( z{zCd&{7u<+Vx#thxIz0-Y}Ss7+wd33cW6J0JGEotF6|eb(fU%LT z`(3naLVHouw3jqpdqp#8uW1HOp_{eWHH-F!X4Br(99pLqt{u`Mv`@8Y?XVW3b!iFO z7h0lrL`%}X)>5<|v;o?WTB>$bOVfVBxzwMvq1rL+4DAa0wJ_U2!R4rUTPm9oIGVyK3z-DXK0Cfp_ZhduchcS zwSIb$)?c5kou#|9VS0r&Tz6|DbdNSt_i35>5^X&GLS~wNjh3x%&~o%^wLBev3$Aa} zX6V;zCHOnD3-xET`TAeAg?fj!NZ+Hm^;a~H{;KBF|E?|3_iL5RM61@n)@t+< zS}p!+ZH4}u=Ev;(_NEha(YY@qyly7p)=`96=MWw$&@K?-zD;^vCOg>JT=HdxH$Um=L4pb?G`t(lW zWEQ3NKog~)a=%vQQgS=l7c@{hn?{g4cr@jx?0=M3VW18^f0RpT`YK12TJQ8jEpKmH zi8Oa@UJHC-!WI8V6c>{Jbu$UKjv~xDhp=PRHNZm!HvsS3M0nyX!jt8MDi;;&o0+%3 z($9G(uy}kcaJiHI|Ne8Gj{;XM*a_SiwF|i84*EYVZO*;GyW;*%7THoKZvF@4Bb(m? zj^2C_xOx4jzO&$&Q2=*pK8S00+Kosi*?lcH$)Tu z&`5aO5W*`<3E$5o|C?rz{Axxz*AMzy|5IbF^+Dus2jWmWq6Br1t&p)G ztXE|3ts6~!JM`XF?%!lkov3kf;2cUvjf?GaL`;YyOUfF;3|SAM`0%BlAk9!qZ+VmV z%RYS$o=5q|eYF{RF4Yn zW1+oEwR`9YRXsm+ET~?pM#}%q%oAEO|8M6UHNS<yA^qxr# zRy|KIDnj#0&k`$wxgmD>N8HQuhxWk`Q^Hr3CZ zb@L%#BxejYPDAVSf^jZ{o_oFz_|HPZ-Zj&^o|PpuolyA`^-OV6J^a&8IODSANcnoKZkjLEGGs;5i zT=hfM14Hdf4!!pa#y#AfrjnPIKi+K#jXRdT1`y?d*w!|2tHr@O{xoh^wATx12-kM)h8kbJbzk&%ByS7%Ja(6+N4j zJyc#DNhMdUqn`VrPY^Y?tA6#sD0)*Ewfak>6FP_g?-ip;`H);o*A^c|+%K=9vZ<21 zDQCj0(i5=nTdd)X#HVtlw7J0w`FV*u!YEjj9OX}dJgtgQlNjaiFD-;x72$u! zr=NzQ`SvZ_gxjLy@5vSeb?h&gfD<({5O3kYb2U3~vgQCz(;|T9Vedv4*;)+Hsl@^F zv;<(jmIN%&Qh?L7{=ga9KwzPk3Orv+2hPONSp2%EHWXNaxzn}NEp=+hxvfx58ig^=w) z{KBa|6S4!Si*UUdas*Hpk$MT_C?IN7p947tsEb&=400S$$NxMt7jgm+ztyGBgPa7^ zMY290ataXtU%kE%a(|#M2Iz|*4+QFBknVz<3e?3}x*PH^pe}~%9?00|fQ+3E$Y%p} zF-l(w`5d4w#_N@kCjimD`f|vVfM{R68uDbIj=#05g*+9Aw$@ibJ`aet*8Py3KwaeM z4UltzXm@=T%35)vts+52)iW`mTmNAE@Jh>evAJ5}+=Y>(@c90-}fL*8~5gZvyVpHv^y3ZwCHN zzZKY_-wxcXZvpPp?*bmyw*tHLdx4+n+kpSpw*$Y>?+5-ze-QYU{xI-}z61ER{uuBF z{c+%r`V+vT`jfz)^rwM8>(2m>>CXax(Vqhz*PjRes=oj{p?3gJ>U)6Erk8-prhULX z)2qOI(`)9b+LrZ<5zOm6`TO>YCwH@yp-X?h>ni2qqp7nhno1gOxH-Nh6G<^^G5D>q9W%?2FVIbMnnIR^d{2{FY; zfqg0vzszFvhnxr0#X4gk@Ny#+*kq&wn~fpBEAT%}>SDcdCa}dA2E57`fml}qQ9s7n zkT(EPKgK!0>x@j`Mq>=@*8?#l8RH;t0_x&MV*=#OKwaEyOak6wOoruFAbzvMmU7;7MZ4a6^68ka%-7O0EwjLRW^55x#Enj!xP#0WChL;eYf5oBBmJZ4-C z{00AWp(c(4(d&%sAfEtY1R2*u{tc*${~DVh{|>~Kt9dhI4Tzp;z8SI!h&kMRD`YcJ z7ZK*$fsy7dutWjT8_jn?P6O&SDI}amaIkx+pb20l5r_xz79~aIX1j;05Mq zfb-1HBJ@I_j{iIBImioux>#s_9`Z#%T`V%c0KC}T0d$%704vNdA=C}j#bWb5pvU|w z&})7Tb{|j|OU$nWmzv*%Wf>5&DE|LN%%VWdqUN_DR{`DA0`7_}4=Ffqf%wGa;G=Bx$Z2lT} zr}m!-z(eN# zz|YJBb^NczKs*J^slac{>A>&JLx4xkLxIQ4X9AC#hr#n#Ao`nS1kh$V8|bi{0}Quh zA~XVszGoQ&ISQzYILkO-yk!FLOv@x-v1Kx_+%groz;YhYV{yXY3)F?rk_&kW5bbEm z2QITrhouszi%Tqpke37Ti^G1ER(( zb0NP7#JyYQLH;*T7oS_^L;eD&i!Ut;A^!)6C!l2!@TkQF{K?`5{%r98k6C=cUo1<3 z$1Rn>UoFdlCoI)KleHFTSXTheRzJ{UZ2&r~tB`Uy5aZO^2#m9?0mfS|114B62PRsZ zfl1c&z+~%{z!dA%z<$;Z!2Z_jfCH@80|#0+0S8$(15>Rx1JkUx0@JOx0|#5T0Ebxb z0-kBz3OvhtFL0Q38*sRFJ8*>ce&9&!gTQmF4+FodS}tkM%3muosBFWc?cQ5+M4L^;^ixfEe%A?}2sJAAteuPp~%t@%wAmV~|$?b^MP2 z$00WYu@14GfV>8XC$IH4$jv~^4A$QvuLojgu;N3ZxDtrxuhj(kY9OA!Rx{)cK+G6c zEATq29e9`30ldc=0o-Pd0`9QJ0H3nP0iU)e0RLi5LfmJ7SmRk!fV-{zfqSh3fiGE8 zfiGLrfp1xd0RL$n3VhpoCh!C6FyH~}2;j%ovw@#j&jB8`W&*pcV}PGq#{rL6CjgII zCjo!AP6i6wROG7x@szQh2iXKff3`Uxn}Jx}*>Zs~wtQf$Z8~tEtq_=Dn+Y6hD+Zon zD*>Kqn*%({Rt6kyn+qIin+H7GHXk_3wh(xZZ4ofb<^qnhxq;(t9^eF<4>-}b6gbIN z2|U-f95~rl4V+@D1x~fC0M4=bfy-r9fS*v0V*$Ef6hk+W_2PyAF7*?RwyKwoM4#2*hk}+YH=nyBTl z0BG1hgvAWRoM!(BXtjR=wAl{Cw@OaP(}*uR8)77#Ol{VU*f``5tv z_HTiU?B4?~w*Lqp7ZA^S`%jSFKs@X1$ABLDaiG_J0(Kt|quBl%u+IKFFkr_gdeHzx zo7zo~R{=4K?Pg%3-3q+gj{i(m++=qEZ?#7N@3Kb$x7uUie-99CWRHW~3e?4Y_5|QV z_9Wn=_7vb>?EQhy*argtW={on*wcY~?L&b3>_dV7w4Vul*FFq*z&-+a(0(?s(|!){ zkUbOFWgi3l!afdo#6AJ|wS5xsJNsnd_x7p4AMED=f3!P+NA0=5pX~X-pY79u$Lxi` zU+go1$L+X;>rVH9)-Cg{^^n84$G^b{XVdKwUf=b~)s~0`c^8Gy|=U^}tBS zmB47n)xbo@24J$|I$)~fdSJR^6L6?wGw=+@&A>Aqw*t>{+zuS(*a95xxC=PKu@!i> z<6ht>$2QY6H&Dm(klz66;!Vd3kpBV1TRlE63}=BaSzLUpw9c{@{2U_@m=p;8Dl>z^UN}fYZW11m=W)1Y8jQ z3GkxuLqJdXVW2PkGvM;@&wf#b(uhA@tnK(OROB@3X zOLPLm6DI&86DI+q6LW#FiBoa5CJ~++v}Aa0&<4PBgEk1B8?-cdZqNq9bAy%v&ug`_ z;CZb!9G=%|BNOw1qu_b1HX5GSYFUZXfn(u$oi-7k*J zoAwSof79NB=Wp5v@cd2t7d(H{4#M*{?PGXmi5&d-ScO=M6ITs5RkdDRD>jQe#J%Dn zfnQt@d&GX6vieAThC}6cZI1SY_9agAOx7>bZ`Tj%UHXrDys5-=o9PMD6k~x=W2`Yg zFglGdjlt#%%`Wrr=5R}#rJp6;a+YPXWtHVKOS$zG>l~ZM_Mq+0wj8_LzS`bqzcp-Y z*rQ?p4*NFjmoUvS)UnWUm1C3RQO7>VZw^QJu<)$#Md7Q$FAujx#6+Y;f`Q?+ZFdl-0b)Z_)-+yHP zG5xa!Oc^k9K*NA}16>1`4h#%z9{9+>odf?m@Wp{g2Br@hF-S|br-rA-rS?xfJN3rY zEvXNs{w?*5)b~<9P92hVNm_l{nzUEb64TSt$EN3{&rSEGuS{Q;es%hd>360-lKxcs zGwE-nf1LjBbo=1g!Tkph89ZX}n89^l8)C4&8aPBZn&>xH>^Sm-{byVqgHvbFuiMCD ztkSw`@U^2zIMr4-N7?Y*L3-g-&fuq4^|rkp=xw`Zc5mCec|lt+=UsyX#mW}6P#!l% z1^tNW->$*qFCsQ@^_1o99AyiQyKrT1+x$MtdaAnX&O#gNb{;`Dk z)VexdrQS6--ygIQ)4yGVkHio!!|#z);<^Oaa$Hro zs&Uoes>M}@YXz=)Tz-572;geaY+@z81+2op{Ayf{xGu%D2G?3#m*HB6>vCL8xSDZY zfonak7F<{2x(fUFS8Jm&U(&2N5px{PVdvsRVwt!e*A2Kf;kr>)eu6uE{;@XDmK3v;zwc)y7 zy9!?!uEsZpYs5pi9>(d*N3^Z@+HfzvHEhF|hVA&y@F2c2JdAG)kBBF<9b%{UsCZI) zTs);cDW2Az6Mw<=46a?cp2hW7ZMS$%`!Syb# z_q0gueJxh|0M`MWto#>FRDOu-Ag+&aeT?f9T%EWM;rbNUVO(9fKEw5IT%Y6mLOTPq zYN7TYTwmcjg6nHs-)QG+-{SgCE7HE#JUF%K!KqCTPHlQ{YSV*Ln;x9n^x)K{M>~$| zS8XZIp|93XYK_`&S_@8c{s-O95EH~fj5P!2b`?)%o+=q91+=k+)DJ&m{+#(s<{y}k zF&}3(=_;O?If*%ixj*v|=Aq1IGH2?a#!WcF}6KITg1<;?Xu z-LDW=v;SkvPcT2t{H$aHUmjHbe8KU)WB!TLJH~v1*f>^E%U}Oqw6onLf=V{}xkK7U?afiY(GMvfmBNce4MT?0+}wce8#U@~8OsnN+>D zal8kZA7Xxl`90>3x!gaq{)t(YH^QRQiD6D)PGSDUqVDr|i}FvgD*u7ZL#?WQ&SW0J zJehea^Lflp=3M4{<}&8F%=080Vx~>yTP)cS%UQ2xev^5to%{^(eb~h1#14nztqv9c zUde_S7^(DB=JTRd`SY3QFwbZ9F#DraJNlzkJ6^{2%fZwhmq)33*&L*-_6ICJm!=9)r*&kj9Q+lt%4iX=+-zUtUbG~1*{w;Gvw7QQd<{0KUW>2&#UnT3C zSihP1cILa7zh^&Fj7rzcY-P5`sQVlkqv~Z~jH;IrtdC%Q9Q#jZUcvGF%ni(q%xgIQ z8jgP%$7|;BZ84w5QT=RV`*yb9&-@_s;~f4Ra|iQF%amKv;(UvMEFVJFYiy{S()FxDMj##MOoCKe&Fx zbqv=DT!xXM+l;}8HyH5-Bi>-d8;p2^5pS@JmkghB<6qiNq`%1c8GHuPNY;1iCu2ya zw07#hLLLnHXUO5EAMx8ZKbpc!$4ud-o%*22gXRo9+?t{H!!_P|hIOYt#rmUZ8m@D# z$4pb8=irKr-l>`z&(z~JukvF5!d^As^ddkgCai(|1RwN@bN;AI2YG| z$esFl@qPFrT<5~?yRgYo10qwS2Sg6VH96`N)9mO$kq^fVz%?k+5<4g|Jazzh0C-Sj z|F}VsYvKmry4!9uevLV1`ZZ>t>0aZQsWoOvLTk*W32nH)2XNhot2JhG!ojGW`p3A! zqmP+lQBE7|ciaDx*o3%Ekl&N~KT|G6+&ahsT&r>Y8dGkBM^ES%9=!-$4>pXmE&T_L zu`C>Pw&i7$$NI9#hs!Kp!e7h1B&@h>xWaHbaE0TFz%>h32`>DbGR@<1MiCE2$zE12X2DJ}H{T(fUr0w#FZ*Z=jn{cPG<1ElZX7X~xVk!7Rr}snDP2TT)r$^HL=# z)9Llw9RqEH>`#fIOd+i$T~1FydC?6_kl}Qn^HB7F)9?4y2P$i8$^z~{gS-{xLB7%z zH|q=p>MIvF1bqI&>bfc_XP=q$Y0MlKyj>|2`kns98c#``uij1BQexd6nd8Y985a8j z%WA!BItTItOjFEx)eviA( zS6H(W8F??PuF75Ju6KI^KGgw~4|z-H?#|hrL*^vPtIwgKf^gpjmA)$34??SfZV7rp zLseB{*|OUDfUkyn`Yd;~yjuj#aQjt_&8rM7>uxNLH`k9*$a0}S*X<9u7gzZT>T9dn zD2r5H%bKkH>cu`e^r^sJZ$WK+wL5?tWtZ-IQ>6?U3O#9{nrc0=h4XxVPkm(_PbMmg zv#KhjiIr`3eJwggpi!mau3rlCDcw3VvyYhvlNHRT_+^nF+5r;|q&_QL1)UP>4-!{N zji;1O?__<&m`IM4IhqtwpP8$mI(L0FHRH5#a28W4nd{v(-r8z(TXp|){3 zJ=8Kx8Z}E#(S7df9=+FN1k+pvGCF;%V_NCUJPzaO5A2yi`K3vl!c@>u z;{lb*YR_{A+-0>5^&THgvoPLhq(CgpuW6{pgca0QG{8|Qv+I4{N_2E`b9w>|?kZUe zdA=&&Qf0-&>RFD^a<`vIPJcxh8&xU>st-b8Ph~tFQC~9eM(Sm4N|`1lX;w z;f_#DOv}oA0Z7jJdUs=)Z)vr!hSctAQs$C)Pb3G+Q5{0$iPHuy$Xuu7+!9B z*(XS|970(=O?rBl$r3YtjdE1Xc30LTox;3IIc>P>8=+AvX9Zh1i&{BLwsMxJrYyOY z;TLRW@}ZEPR)yA68`Pd-PBUb|z>fq-f7C>$$D&B5FW$zwI4QKtA0?%NY8PKZEd{5L z#_7>8da1R>s2OMs-8TY5ZzEL88Y?DFnv|KBnVCB_Yh2C*=h*SNqsNWUnN%=goO43n z*hx9LV{<1KWR4#@mV4)T63{!recc7DJ$a2)g*e4V)i^HHiFzvxr;LShr+Yx}qsmV8 z8ZT({WR4F_JZrpgxo8Pm>5(%9J!|QyQidntRCxB0=qd3}QK;w>PAe%HdTtmV(ECXA zRIiDrB{FuR$QzwmFs5K^PF`LCS|PV!(&&Qx@df#lCZItICS>L0<&4Q2J1&2sSc(<) z-0}h>(MLA0_7nz6NDnzBi0%Zxr!@^%k3WoL>)kV9Ew1%8RQaZfDYNS_RRnyrUiZs+}X2BO3U-}WV(fUm>z09KEEH5tH!rF0M4CJSd`}~oIb0h zG~ZR6UsmRvp3la4&eB`UAe|QS*F@N6jsiH#2K)QIRMvoaM@!TZ%g_nbjRHr=+~R zq}WwbKy{Hj(>2>!UY=jt6JB02yLTXUlv(asqR>ys*%g+E{Gy`5*=2=gqI^bae!eTO zq`VAuJKa@KSd{N7C@C#=mW#6TQdASlTU=N!%1fQO2q}hCSgZsNFUDW=$;NZJ#Ju{- zfG?LG7NW2mkIjP0)%19k2E5>%qDu$7F{se|)pc0z`Mh|jOK-K@32NMh@$jixiDi6G z22yf)DMPQX3g}ua{EMjr3ztXK)Yi;ySX@=%9=okt*RFNyk_YsX0FkmwUmDpFItcu%`rhut^A4`{DB;wnu&rnEu!UNy(9cS)JK$L+7j&Yup+*Vi%j#=ash3=lSL^f7strh!3YF2lf`(S1SKe}N zLw!BQXR*7+z0~K0E7pDpnli1*<*HP#wcSRFO>Ks7N`XacHCWI9vuI#>g^N>m*U&;z z;9Xk@ToWoeRMRLW$zqiHRy0&%w}VZT{AniKVMz^_mc5E;nd^}3z(@VXr!-{oBjEUl>}hf3zz*vx}k9vrta`EG?;xLcXMWOa|? z50;t-25mHSdv*uT#^y)0zuWHe@qG)o*XyEJjVd4J3Q_N?M!7=_=tIk}nl8ko+T&GH zgWeUYVuPUD&EFGH=%0=Ce`#$kB~9&yfr$MOs;%6HDw@a28tUq3i^PjnZfzaa4ZNT^ z7sJ}4hV&n-Fu1RFZz9PtqxPrp0IWpw(sZQyiJUD9{mLHfwn{5@FAr`Hi3@5GjmG2j z1_)E&(EaF~w%p~)!8;*Fi`?(Q&VskMjdJVDe(I>~9S@V!DZ{Y02MvVY)?iEa4&iY{ z_0&61ZR7N|qhU~E*dO!t4#R$@8?99kI$L*l=icsE)AW%@F%}b;F?+kqeX(9utS0xq z!)Rx%?-1&F^hVuxC^b>vA;FE3zC-hCyybYA>0NZ$oBtrlgWa*-F=!NG+Nmn*JD4V% z-jV2u+;@norM|;>q0l=ydKmVR3r6%Ggp^?g(mNR%)nyHR2FcOWJ4Ud}{y}iac1-WM z)OICHdfN*yozooCJA`)1s~1-_Qk$04_w6$qTVfb}@@cUWZ|c3eA@+sbjei_mDo-(OOW~4zg&xbjUFgFZEdu)r!yRA?t#_Q@q|!U2q#+=e=Y2#%zoZTL zUS*`E=^ushJS&Gs&mMlSBzR5te{yp+;G0YzC7|bQNlkuzeP4m)SitAiuBr*{_V>!X zq{c^G?EmOj<_qAz9N^DFf0WAqc9I=-79J-4-qpwxc4ePoyi?ytwC-;$eT3y!Ro3wq zc<=mBQhHJ8BN}yMEGzm5;irRVc^_e_X4IOjcW(Ks1NCki;eExd^!sVb>N}K5gH-#9 zIJXXO|Cm=W&0;k7k+SNReFOwoO??EF)K@O0o!bB5LJt*usO;4TU z?!H23|D%j%^d(EMBJLft)aS<(+uM%U-r(csk6ci1c%$hZm4@DX4A!mMR z#3lp&3msQZWnfjM-$zpwhK<2L8B{x8P|&$H)se+Kt>4K>76quyU_I; zy0uDrYz2eLm-$e~s*4A0rM^0Rlfh;M^`P!LSuUU4LA~cTgBJcIhPfs*p7KM5ci(@| zKfk&z&=~3}x9#!Ky=E!4DQZ!_)DMH+rM^Htee9AAK+*_&u8~^3~LTstrqtS@`ZpCnwkomQYpQKu8LuZj_dFIk(TPsl>Z* zPi)y4O3>p%AJDRp7%l7usYju5Arc4C*UWkD%AgujKx(p{Y-AxrOiu5zT2F{Bhv4Zt zzrmi8P>4_AJbd;G(b4C-vz#(*jLTIm*9l^J1BQY?Z>_>>sJt~=yJNw|8lEKlj;c16 zdQ@4ekYLn8nR^NC0R|($f;Gd+N~{V`wT5Uee~-Uh^W(uLUx`J%dzBKXQoCP$WfA}9 z%dsry|MsA_W!l3mz^h2@s-Co6f#8Ob$i-tDp9XM%iS~~Kwop(EOu!!Oype$lRpeW8 zx~a5s>9SB;6;vUxk1Q#b;fR4JpoWSxU=pV_WvGnZXT%9Ct7Jj8w6xX9#fcPW0CSS4XSRpbcsEvNhnKTQJ;5Z!19s z(}mnhqMdB?9F#A(`YfzbI(CzlpuR{bdA1L|wI-kxJb9=_k*Rz>(bq0HH{{Y5v%rRr znxI9F56fGYg9l8oo~U1r&jj?oNT*7q?xYU~-4+}Vq4Z^F@cadN`p~b{xfJ@SPRkJG z!f$(0k*$Zd8I470aCy~fPpM$HzIGLM-D~MdidWf6N*3A4k2q3ss{x5_$wH|Quf@K4 zjC`CPWSh#6725U;`r_~smP&FNHUn!XB#xUR6U_>2K?{;b2Q1iT?9{t1@(VF5zuqp& zQeNMv?y=i}?oufM+MX8|(i|tpf)p?s@mY^8>Uk(t^=#@6QS(A~j8Ik16f(p`!>~I_ z`KsC?40UX0l$8{rzcyelnPf;rJ@AGlFw8%}A%4 zVRsh|~5^SM%D}9|*l*c?|=4$4VJAG2Gs$I(Vz%nUNX@gs`az^M@@Ia+E z&R{Yu;Tcq0*Bz5bqTI5Tu}?8j+VYgM^vBIg#Xsk=iq83i3Hqc@zOr`lHw8t7Jd+d_FzX-+Z7ilHNw zG65$(j!^Ny80}J|R;vjXnRlh-O$FtG>VOLmIr)w#c#H>CS(UVsz`RSZL$d1^;q#dj zpY8l|<4~HgAgT{Y2P$BX#&1!gTD?sL2QyC(Drzk!i;Xc4$*3z#crpwxMS^As;!=F( zq^Vhb+z!5%_gHwQ?=kd9YLmD}&&4brkSg8ZEZ-_AqYo{n^rfv9LT(iysdDFCO0z@v z;$=0SW}!WL=}99+bsiEZ6)-bq}=_fjzcio=-6?$rsg22$`+IJkWza@^&Tdza{7}Je-`6KkTfk(Z^crk8>P(; zsnCm&JX0<;>S$^%rWz^q2N$O$OS)rHCuS922jx2rx^mFb&p~)i!dYdS>XvrL!~(Gj zCnwpW)=g?g_UAO78aN%>j5S!(S2YIRG4ab6Ppk=4xtU$=?oYbi-+XDJQcg0gTb+fK zE{-X1ASOV0@>eXCdlYoT=i?lMj9A`tOhM{C{;Jx&nvvEVxqhmyRwr)-h6d84lc6${ zsu{1t4fUL4F+N-P>SYjSO1UhN%3?az$N}|ouev)rbzD5CI1rVhHYNO+0;CT$o)qwb zKsA^oI7(J;6jCfNYgmk46qNC{9MtFwDLq5f-hyr!{QSJrtqEeL6K66mPt0TS|2Q^+*1dl5A zd=yrFsf>mqeS%h#fjaKwtVdT2V4Y5OO1qH1Q%fh_pX)KAZd|>LE{{4Q(&L7NLX*LI z63y?f={Bm>GTs{G;e}qoREeBRFqx2ygQj4%LEVGZ72O4G3+Cbga_~-hw96U|$}XO7 zf_li}G-$$Nn;Medjj)>&Vx?ND3+l8>6_jgys}R=Et)pwuoFL!l(J_N=lxk2eq+OrJ zpteNKMMAX~%|xmdu(*;65)3|!>GK|~N9oN>hS58b6y%aGxTfe%LvJ(=f@ksA&r~ELy=-8Ibu6wgZYO0q6 z8-aHP@H&IPKj=21O1kF)Ir_QDL?9?o9tAjOO|!P*3w-s9u^$?Ipog^mDD{rw6G)RH z$eNjp*8zHY$15kj87L7i7wT9&7fUu&@K8N(*LACM-S5H5quU~vtaKCI7B}skonoOo z=nnS!)Omg3T)MPgp4^u?Vzq*D(cn;0zPA#`-gD@L7d>^AG5GmZX|m4w)3=O?1x-kZ z{G6b4N>)vNO2kiXU{uMG`!)rTbR#1kPvC#qE1Q>JCQXgdmb zLj}Y+8g)KYpx*?=;C)c%ro%hJg{MNdLTfFIGXCQ@oGDZ1W8_XO`>T|xlDlJ(i9YwM zIwXN-Q)!eRU&x5HpxPb6z@X_Ksmc$b!cU>H+je(DI)}nDE}a&jHcK)zK_?@~`M za^=CVLh#x{A9Rt6(p8C-j0&Ubl4+8?`#geb#o*}#QQs}mohpC1>*$wJFYJC(610x% z(J{M}he$~s>99kdhBxHb-IxX zUq{C)PY>YTAFN2|Xkx4omjO}gWk6XxWoQZO%|PKhLv#Vc4w#bi8}>dd)5UTrkE%+8 zD|URWbD2_eP0F?RXpW;c`J!mL0;t8|;H74GY5*(r%h2LY}5 z3CYmE^yw2zvY$=O=d@VJNGL<&!ge)1gU$UjN8SA*$8FIr<+$Cm&QWJ1wmH8SpQAGt zDrIL2HUAhG*UX$eJGID(!R*W(T4{@=TsspJD8c;nFSnG?geHznJKq)7X5Ad7?wDUV zYi9$w3|n+uzE6}g+ZHKjxMTMLlOfV-GqmVV2HC_Ft4Sm@XBS9v4kt{pe4HRKsGQA7 zu$S^`%L%#b?5s|eO89YT&X^9NGsF%eOHsFWYA`acp3t4VoSJqo8M5mPt4tE{#3{XG zWVG`S3+W)lJ7=%q{?hZ1E>p?g56uokw8gX-p$EClN z<5s>5n6_Q8XJ*|=@_NKJ)Kl{wF)Nh^)dGynBi;uOvk9le9%l6vxjiuB{-hpZi;Hfu z>=(|$p-1I-YdCXdIzae{gt;Yj<_NK9466q$1}U@l;&kgYoa9jer%)acc@|N&d!!~R zMG>)iOc7#9216TdiYw2)`Iu<5zO~@6Tfq&6O|Y}Pv~@Ca`V89|Aps=ZYu?n_*v@ly zhHLWY)UkB;Jxm^LGM$L~C;P}=C86w<;@UC;W`nNXj%D!8ddgdh;Z|)s_ncJ3H8ht- zMvyURXR_p$L2wd_${E7=*aR_6^w7Bl>3acN4E;*0;P&Zbx-lwFmNpN5nSjL`e5-_E zQW3Q|vBdF95fhV+(R9s$rL%PxvsUCOB3{>?XeYATK#gohv6)D%sVRtoPNT?6b4*<$ zy3AmK4G94?k!1d0%2(EQM2c$a;S zK>Nf=HW)H*aYU2y6~1Spfq0{i4b?0r!Ny*c}dI=tD4 zEiP;%h<$S)%-D&PI=081%p!JC#gIFIQHfd278IkigI)B+$6}y-&ZIM6Qq6kIRA{A?ispWUeVaszQ#ZSmqE}ngEPA zCgHXQT4MwU1`IqgLYYX$5pXhhNt$rFngu_xC~wn{p-^bkgK>5ZVwq+*WIi5Rx%b4v z31&?*#o=T?Lk`^h^=tmpryj;-L|+C#RV|{2VBMbJegM9kwmk}&GwY{m;!E~iw!I=B z4tRufA-p9{TJVq=4NO&lqq=N& z8LVy(@iC3rlkuV)R}={s$M@_y+=+PWUUT4;ze_23Zh^zLQ_BubG+_QywsQ>VPDkJ{ zT#&HlAWhM;7KsDZn{?N~augAzB(DK6wndmps%9g&$={6<#Kx@TNqfr371&qvbb>mF zVbd^g)=uk$hur3ANoc06>uu`{Fm+OgN2W+vK<9$QOR6mDOG=3$VWLIL`cI zmM5Z}gY6&&ueXfx^9raf4qImz6Zb234i(b67b21fu>-v(o&Qhfg@996;TC9l-z zx5)})bBq3ilaUdD1w;w6)2CXPt)hv`TCoXp064(z*=D#DwV63Sd&;ue*&B9Oc?A_= zb4`{pTnWmK##AJ_#8V1e7iDKL`-r17h?$Y$&>RmPw7P7T6BZ5@ z$V}YUc{)_0tS!amj1*3GiR3g-LHLlz_Oy7np<@=T6BRfzQ7xWb$!2APiu;D(+dCOI zv*1UREFzTDm}rO_uxW=_N}0`>ge0WA4TnqXX=HvxNr#{mT~GG(NPcPmVhnYD;lS+T zquL;Bjd0zS(r3S{4}PD$F#22ncSa+c&2JGoG?Ty#SUXJ2MGOT-=-^>$QnfZv{@HoNj zCIM&wvlT7QHo?WYHi93KU8yB6^Ub`KD&_M#rI@y(wxKJ*jx_h6xWMOgo38W0qwp8V ziSbA%YoE~ak@-bG*QI0FwIkk;FBmDnp$Skl^&@!QJ4B>g_^PY}j!d7%qdmv(f#H{;Hm*2^oXPuM z(2H@FoZ75AX1I_q8=}l(>}qquY|$GvxA#ElFv7WTzEJCnwG>y0f=iYQI)^Aj4qy&0 zm7FPs9fJjG&1_(2(3jkvZFM8I*1NiZcOI@u*1H%K)TywP)&#fbqou+7%T?NAhm!~+6+xo}LBCK4uHG+0>uE=7gJQWVlD z#l%j%0x{;Ico9+IBGTjwXnCouNVP-$JFhNU>a4m`XLW|`Uf(i~~5Dl{#vY?|fNi<7$1=BufY;m`8I-e-26yr5N zGlT4skG_S9Q)-JPYraJ=fHQgO&u`Bzdcck$EH<+|-$LUDM7ttz5A2y<*qF&2Wy8-| z3B;=Ve!33Eal}@=!-12tvkSp=wny1>5;m;`jng9T^km0sO5@aXA+7_NaHOXdClvXM zgMlkDmW$0}&;e68^x0&+V57Vh3uh6xum-$$Q5s{sQA*^{B3{GXwhOX{@{%4V>wVZ| zhJ5!3DFLEdYY+}9??Xeu?Wn-@fmzKU$L*G3;v_!is8z)I%4Ru5U2!tf;9_XbTtWp9 zCVV^TQx5ZT?Hs>=#UNilc(8(e&YSNw#z@N+!tNk1npI9;$cWKQl+sWj3v)fi^iz%% zM47diA}79*OK{}E=8zMdFpIdx*aA{@=Dt#7T1XvGZre9ADy@qYo@6R@|0%^K8_cp}=aA>Hul40LiqF-5Bl6vh*w>1TCO%26h)09P+X}X%^G+z-OcS9~;@18vg*A0@7 zF<7kB7%#+MN;eZLdSNLpYKT#d0hX^yTUdMW79*p#CR4azAPErf%2A0HdemnewM9fc zUbd;?s%4SlT8n>g%`_pe#tt-PzggrCZ;=_|YJ*L}k544O^Tm*;$%If*5MHYf8rql5 z*uF1@;)}R^fuzWlIC?Y8tPil_U06NJDYDM_UBFz!p?pCw19hNbHoy#W9?=xXpqt~8 zF*#QLoNtE0ac%qJU((2MJAKYkBdubH+MtVoI6u=@8C>~f`t8uA^!aL61KOa6W?MdU z%_k*O9Z~NzDkuyL1+}na$AjHJTQk8|<)SjgcNe)ozEDK%s|3NX9C8Z6HC9M~eXbLN zok5s_yy%AzF)XneRptnB1jh(+CWFCqins+y3WbZ=2v00JMn%tjsZE60ohC03wb z#9WW*qn}R6D4z=HM=2$1 zBqD&AYO**-AI?G1g&F)~PFtiLmmfJE0k&m};l11hu;E0pld>3gcb$6l#3EOOP+cQj zwieHCj4+0iUssHpy)1@NDBw`b+$ykEj{1w$sAcT(*Xg+QsrE~KXB{e(86|#P9d!$i z>mPS7N~HL7guAjP^#=C-C>^0$l*}AaCG_!_49I?gg&Y{*TtP}?5PNEv%qb=dOWssD z#dxXTL)oBAyiL-Qa?}iwYEesE6Q4f;z`*6uO49speJ!Ku`T=fDCb@mA7CW?vIQ1V! zu!9k+y3B~=IV7ymWeNRKPzaG8rTYs?Di*r|G%)wAv^5cff|{30a1XiiS79Bl9NOr| zPhVN#ay)I(V=da)6hRLN*{*cowK#to1H9M{3cOXd&u^D+km9&La<(NYT?nm{e?DlMte&7`RW2fM|$nY_w`H|Jr7c@{~E*|?fM zd$eRMH=(MWuf_J7lEk_%k>oC#WgBcNWS{0LeGJjiZ}XILsM;ogx*FSQf-B=jaJM+8 z>Qow%OwqfNVRR|X`G*uYrYJM6nGCgi)3{_vw{fVdEFET*QmDNY({I0FqDzF$_R)N0 zi$$7Fn_Dwj75Ol_HCc)k2HnM?_z9Sn&bF7>LD?4<@-8Ur8bzXO;TtEQhi{OO`RN9U zWzdq{wOT5^K~n52<+Vfy?A8-3!J|T>c{Ir0axjL&5G2F*VI(w+}(SzAqOJgUEniV90nT8#5t0xr0= zoJ#v452`c8W2ZerVGp2BD-Hi#|K7RXw_S?rVN--99ph>1d0_dh3JXV)K(6i_ZG}wt`|E8b@Yd)L61l%P_Zm2BRU#>~=NEdCq zHxf1;GoLqZ+c?~&V+qUu?4u{>ssEyHP z^N(bP{56C`W@u41P5KSZ!1cNuIcgwHW$8P!wj#^%BgH)c9|%H3-u8~{B2ri=_rVON zkMTjan5!^U6p*Eqq?R=vxxu^iOc4>8L80=U_L;MkPvYNFUx?fAs@ zLx=RmGMlNX6MXL0^ac;9Svw!~DBUSX<2)3XMz#v0OKh^S2dp1u=e{*YH@1@}ZU@$(ksA zs@L+yYZYD>YEb@?uafgAaBfUfK`-X=oOx`)U?4&UV7l!ivJIB%aoFu#zZ znS8Wb%ACyIC6LWo!AgWbu!P}4&Us7e`0{{$C`5+goRVm9mRm@881jWZTutN(=LI#N zoReE63b%Ys*`~J@79G(F{AJ|?kR96{;HC;2G_Te^$D1N|;k#RMv+>pC2X%#rb6~Sq z%o2x~xtGF^`F<=#`zcIOC%niFouqmN2Tu~1z$xwI9G7ow%^3(EX?xGdd}dS*)ACE^ z>ZvTu$$sX8aS$EXxibzwxMUo6n4g%6TJigfB{w|%^bY0ifUfQsb=!8Jh&e4tEq0Ku zBpQQyjXhTsIpl~Jf+Xo=?N8@j}ousW40Amy>re=$Uh;0Z1GV6~{_|i-eGyP{4 z5uHb*;Vn+v&v3>@nIjtHR-BCDBrmrBthwms=3)b3%~6vwGu>L>CMhE2G$ppdR9T6{ znleW!$vNmx(cuPqD!KccIZ9xxg1;K9GNZ(9>CFYRs3Vx~myjd+fvAaPX<<092kvPt$9d^UI4CJU2=M|6<`wJOCDrwTL6T48bT zYkQ3YL=lEu2qpmAqc_P$l9xK3QQ2gV@}W$^fuGD;PzFfZEhC5=hgv{#PfGjhn9I@M z0xaC6Vy1cfAq9L4)#_5bHV%6{x*YVu=wM%w4)#3=(Xot4`Vxe~^3%7lI$K24w<5xC zrg2q}F-y_GtV3$qCn2Ui9u7c9z&rYU1PwD^=` zY+=tVpYk?KQUutMZVaOb@Nwf95z$I^$EXflODT3l6XS=L^j)JExl6_izq=YCCyLu9 z5zr!roKoc|&{oFT zQ&I8~>22V=)R2DBYqc$t9Vf@u_32JwJVtZ*DUca|T>;5kjx0LP#KjIm&4C-2{w{Mp zC76X!ryH1b_*#lB?|6C$<@3=T*s0x+jUA02fXzJ*_eb48_P`W0?P1rcB2H2iaVdw< zwcN53fKN-HfiT@LwPWccj;gbuh$djxIhrdd9nq%*>kNWrF?|bCwc_=_1Q5y^X1vp4+*^121m5_s;FTIPOtt-rs?*>W{%?C*kN;A^lwX@@tFBdRvAa* z!u}ImU!!zc#=b_ji0`sUeq*>OvBkF&A8(=B7M#3J4Q0HPv+nrBhYuw-4macHNs=Tn zb=y6+{K}XEOas=11&{8TJ_QShgR$!cUJ~DY0_dS^bqe`X=b>?=5b)nGK(Y3j# z-UMk9CiDy;S;~L!>}mVfV+jPKvqLBUJ>xZeM#>qpmS@EbCVA_RbNcl5su^9X1;>&9}qi*sU%i)kQ9O4K&$5gYr z8OzHUlgs(`$K`w27!RYI1(SYn|F`o|6(yl6jrmTQVaKLc1-D8L>UFE7V!LyCQ~ z85UL5GB6tQyp}`D`cX6M>=ApZqyGDVVcLEs(7Fx@Y5&Yc2YnPyF>6jvP{EG?QJpbD zN`odzy>wfpbvT|KcqdA-GXe_IiShd+JLGtZ9~%$bpxAMlZBaZVpoc)3aYaz{i5E_@sHD#YpjUa!!Emxmq+Ar_SPT zfO1cQ_#5lDpS2Xj{6-08Bjt(-7{xL?Gi!lUDS$R@06QT#P(Ft1xDQ*-I`+cO;|9j>ivspa2d_=+cl{6EfflC$A9OWSiZ|2J= ze04>SQ|z(rD&3?$1u4QPf0Iyt0a>hi7JhO|IS(~m$~NH$EfjaM9iZ{WUmrEHO5u%; zz)B_J&ysqP6ycb0kJ!jORxF%Xlv3sT5pN_!0h3j?1X+5dX2W zcDD*&5+I{KBIR|O@)36)g~xi53%7D5!Pc7<|xB{yD8Y_ z%O?_(^qp)3Rf!*AlmHsBPLB&|o6f?UfsjyK$vLBn3aJ@lzdE;z)A6(UVwpMpoi#Ii zyfbCy_fyalhwIB{b+7s1Y5zcR^b56}Mfzwl#`g5ZTW)qkJ`~|+1mZVsOQ0ec**-qP z_StYloGGKKiX&_8{_7`Ru}3z2sVsq=28sgwzJ=um0|)udd;B5wD=(M_pyQ;u`o}xt zPyZIc7KercPEAFasVlU~+|mpW16?N9K4SCKe}ejE z32zNyaJtlXxcWd~ZCTzqQtzSMN&Zb!gIWqJUzs2o?*R%glVMl*Z0xqWwiJ$2y^73~ zI{GlV$APMp;77@`$h%wMXLI^iaxYRow|70Q>)#EOIALWqz-d}wP%Gak zSH3meOVUyPR~4riZ@HphPsb0?HOhbeMvA?*rh2pzF9j{ZArgre3nq=%cv zLwV6X$dv2?16rh7tf!1@w7iuProFGH4f^)4KU!F7ZsDC@Ii9~`mTRYvrBnp77G<3_DwBB!Y}3!(7Idnloi zyv6dD@1(XRYL`e_peA1r;X|3_2qVX0Zk_hD?db5(KC&K6Gg3z#Wrz$IJqR&}IUS16@!bF4Oq?$eF^p9Cg_?8kg&MLf( z=TRDxN|RQ^DeB{!?5|O7M^m}bD{QF`;kHZn=9mrK*OAtp@Txf;w;`$r;mD_fNH%F* zIOq3%O7QxO_{c6@m#^vBLUT$ZO=Aq*sxjQ0_|XaKbz0N&VQWRyER|7fRqB~UeAt^x zv@44mhvQdDg4V@RAg(H?4o$9lzX(kA8b{o(_F7fQ%*T8^&48l%jWPlV=otC=NT&K-~R!mqb=EMeF z*6^BH-$`2WZacFN`z3TVshNt8#2Ur$B=osLYB_|ijg?%fw$4ZqYAgR+s0v;P|KS1a#JDXBC#Q`D;UuQUyx}tLa>IEBMMy%?ICJc5Ah9{kr- zE%BZuRHAVsG9QfSLbG;?e=e%jher(E8aT=8BrIwum==~Ae5{0(c;V{>* zod;?hVjL>>W+yQTlv#SllHHE^+{`|kF@xH)v5Ch zsn&rgPc->=X$m*ykMF=FuHMx?iRHDD=A0W>Xh+I2_w-^+N8AeQ5RpShBEae zmY&ky95uJEts}N7wCl_(WTRfTuQCyZpn09Sut`0eM;iPCM(QHb1*W+4BL6Z}TqTuw ztreXN6e;hU8@GtU)k2l`zGxTCk(rHOV@Wl?@zFPrS6odq>D;k-&T{LE#>%J3=UWX} zc;}7CrGGya+0$E*OIiQ>zx6j~ z$h!FY72XROytBqFDKmez6I`a%q?Lt%_1A{g*K7OD;q?6LRrhPb=tFy96H*eAuBEr) z(#*9D%lkfG{OxwB@&uHPdLL)LzM<`-G@Ej!x8GnSF7KvY*TdRdd{cAt`Hg%1Ync#? zJ%}eJ=d|vvS3?9nZ0~O`4G6)P4E%ADp$5oOPxx2WgSQsg}kkDk_w-BtL?vmEpq=Z+Lg+R z{dL6m0&X`kd&WceS-(!1Mf~kOXF{UQ=h}ZQGdq{tn}o-UX*Amgovq|^GR<7t(z&JP zO&sd+stJpShZhr^U7mZub-)kqgGb_(REEtJxWHM;>ZGDR<1Q!#f+foa2}ORc^iq+$2psZRMPI2rKP`5U%qQ!ebU^NdTpz zXl&O9T=+Gg9rGK0)TzFU6l9c{v%|}?h2h6JUz&|53)9HB3Gq1nIKh13jh5Ou24*3*e!UDUu)4)ZU@s&-0HR9^kU*b z%q`o0viFs#tE@&O8?uxGElpYN!eBXfIDLRtv~aR1Q?%J?CY3EXQ)}Lcwwhao<8u8j zO*FF(b-55O^EP(VBgxIMf07<*{ENJ04Voe(2{miuR;pX~m8PQtr(eydFr?X&S?eU> zC~sC8uUBR3)Tt_U!F4PrbuE{htg+_i%iQ8pU8sEO^?LBe2Nn8t=p}O*+TIm+hr2<` z9REHJ`m}V9+P`p1T71&aZlvcQHLs7)fRqmt|1hzK3`HLyB!c>U*iNWYm2Hy)zkV0( zI+h6iGqk2QfNyCw-MN7+j5I^Z*P9M3gB@9&0dq1a>%b+~yb*yqTXF($yM}XoSH#*6 zIp*S=c=>a zyy`syE74~87!36U7NbWPq1eCz=MJ(a>#*%nWYQUM_c@f{+wrH_$wI#~+{MiOJq}-Y zhdmss?nOP@&mrsq$o*jWbht0v&oS$7)0>-_tB)`@9}T||ZV9)BkA*`a%-+kW#J0sE z)m!y99}r1}b9||HIvf;Ev?OMDONkT9N%9oMOL@@&zpi0Le| zDkSN}jw&N!j5AFTQN6H{w1F_<^s$Xu@qeLTxL0koFj%%HhQYMy7WW7v(h$VZoLOZO|o!sU(|iDBU;G2Y6cC}f!)=^3_^d*nJ0{o2$H4VMdh!cTdFL0)QThlk5W zts5NYAL)ZG$5|s1T}cnr`GsctZ8C3c$>LZJVDSuZ*QMIjc*IlughsvgGeoTp!6d$X z8^UNO-)b#wRP&~5(ow2oDJv*WReAGk@s)qn?lp9MbaRtT&8E-Cfx1b-m(CtiwH$Ti zdN;$@GE#}hA;wlM(|wU%+kfc>_e)xNaU8yQkm|HyEgHusMh^!g^#!s9XK zC%ccsM}6Hr4&QxkEAHd)-i^%_kK1{mhBRSoM;KjZc&}~ri^D(;Myt+8H&XAClx|n> zA_Z>Q0WTM&C5iYUxe>u#GK?P~Xi*%~7Cw~`2b4DBXWdCv67P}=h0B)-lNU11AV-%W+yq#uNvr3sbI2IY}x-IRN3 z3h-rT=s7>`YXnB`s-Gv0(+=+w@qH@3kHq&K@x3R$r{i0muPSFwKfI*{DJ~sIZ)re! zOIOnSH{$!2_`Ws1Kc+X^8};M!jFs4Rhs=p;FS2{mB)rS=3Fz)qEQEWZojc?-)gpZy zkCn)GT_z<-sD0!``Hs26u26qlcwb~q?_=VGW=)v%<;fydgHmdm4lko23VJk>V{@to zuGAz*y^PTCK6Wk;+y_Ns%_hRM;}TRN#YLNTdaeBmpL*k^CBVc?_nN42fg`dIftne! z^8*O>4={2m=f4TDzK^N+fVp`{6bpi98xR=*9F0VWB8r*_^k`O~ZAU zZm~JvXPEtF51cf=c`-f&9#D@f0gIrsq?9LY5o<_1ynt@Xi@Si0$e+iRGKp}O<49tP zX&)_BYnFd7icN`8+yoY+9zfDtGOR@CS0-r6C)LQMOgPrcGDK_IvZ)8IxMYR*0ByLZ zP*N18fHbR1<SPR^bNs&>=s{HVP<0>i(8<1k!sjuq zgKT+7J5L#-H0r!tmcm}ze|LU{x|x^WsieS;xvDV52-V9x8e@gGhzV+y`WneL2DOnz zy))a~pKz0KpjDNeS+r*TNK?wn!?d2Z1JL<>F5mAcR2=6qUbbAyZ4$0lYhx$nCyiFQ zlZxc!vqO}ty&8qqOfDxiT6v{HsYlwL314oUQ#&U}^IgBu*A=2DpY8H`K;^nxwU=kT zCH<2coo{p!-%`tI>mYiP`leAO{_C5}_o8htX#Csv%8&~n5dYRe{-l!8}cgWXz?q4V=0T-%Ic zKTA^ooJnang5BbVjdJCC_7;!*t-|%iq-$ z;U_8Bm6d<-t2WWBONdw`edP+L#oOMbquk}Gy6O3{#B-!+0?TI*m6hLps~t@p+CkTJ z;Pd+35?fTR*XvX`(L9soniCD>8IVeu{deq!{Rq~ulNvw&G zq@v66E&kPBOKWe1iDp=`L}<@1ysF-$Znf747kF%nHbuIwM!ARbuhO!th;N|X&&Upy z_?=d<`XCia9BPr?i0Z`2()!*QBgraXo-J2Z)rV%8=@*ZtIZ~f!PAE5WgpO!eoV_wy zxxz+Mzm<+A_utIKnq9U<6BU@h&JgsvELd`9j)A`}W1R5NSRqsKzaSzD`xKGeaRasphFut_~|j z&8KZuc}B$_l9GRvnzCVlRdgkjWG_l9#y7HN z+3NjxTt%V3bWA-WBa9#J>O=^6xakh-XL&OiE|ad2?Q@~qHlCNKk=|szNGAc6L7!Z$ zUbaAkDVJFZM^daX9`vhyO){QokKA84Bqbi~oL`%JVOLmG?cxL4Lg`FO*ig^KajwHK zC3gy?YsSQlgbiV~`6^O-8bVrY8cGvV)t zUc6HV>Dx`=|NAcwVL84&u{X>L58Q!b-E5!fLhq!)zgXIu>ho{7xH#Fs{ zaNZ)C6s-!=bBsJxCk!T+gG7Phz2dCdWa9Vk%NyJGgA#WiIF+y$lLj}ViWUC6dJbpCk3>1)(lBbQtMc{iB^UtrWROVKAU_l zg%U~s30Lo-UuENJUeC5Juhg0rMx;5lq+PZbxNqalSaM)5J#lWP@oCM>P`g%79+i3_ z=_(C3xs~X)M>1B(B$G@pW<*=BxD$*K_U07?xNmjR2~4hJT8=O9qQ@h4c#L z(#fH)t)8p>aKk;UN?#+6b-!dOT5yw+N}VB`d<7)F#BHQkB#LaOM6IpX8j@LP2bgQ> zbJdM&;qpuLu~P=~1N2jS73mXpk&#n^4AJgd?tNj4@_8Ric`<@DLyP=-oWG|L2*)y- zCyprtMWR~KPu_QmCYnta+JPN1Y?XE8aMx?Mkd0WcQ}^%OM^7}j>d$M@pPM+`dZ2NZ zDcV&6uR-I{c$3M-6(r4?Z*Vk1UsuW_=d{Etyu2WeX{RYx@OyWF=To*`beewBcJ4Bb zIiXS%L%8hH$f@{*7O+g!*UQ(Hz zpe8YL)#6iSCZlW9HaB&*neBV-Y@2^`{l9d(;o1WbkHo5vt<0G7VhjBfbr*K=`MF8HJNP%NfUC(^47YdqhPv%W2aE+TDqV2Yf?1SH#U4P zd8y$`Ivq7`ApV;A8}_!3|I+<<{qcv1_WF{J+f1}czO_zgxUIbg*I9kKrAIW^lu~V1 z_0h~ZE`)EJp<+iMcV`(SgJkO~uNxtxYwd3P+Eim!x zREmZ2-qt)~Ls}XsPq<91sTAih+qd4Pw|wLtOBJ3aH}id>r0F{A6XhjKaJXZ_xcVDo znbHp0YY+W*GBVxy=Ro>$?YXtKT(W8o&2R3#TDr|lvL(mOxumn=*DZ1It+D-f_U?1# z%(8OFTdTEPM|cB0I|9zKT{HwEBbM<7Cv(6H1AKl$FLut3R|kfwZ^1jYdqx?qv|bbr8sYkenXwCmo379 z^hnp6VxMl>2ztrhjP0-%lc>~<$|S0#Q(hN^5l$_)oMo-)-%V&?dw9<9Zycw)Rv+*? z!E*jrx$Ui$`y3w2p9_`#W3BY{tUL1(ET9(etP1Z!E@T458IQx zK+xlP;=sU@R(L*&X8$0(NWJ+u9@XyObq{6lp%>y+;%;I7Ahf(-vzYd|N^vgf>!NJh zOjj*L_tJ5Xl2eyTvXx2)xLV7ShmuCk_Vq9!Yw{!f@BYiq8$~lxgc3#i-dS9%z3tGO zQp0VxQ;XKaMlER(^%HMjwdeJH28{oYrVQ~d_{H_5u-^%q)KuRe_-SlDvJLT*FQEQwQv zkup^Evm-r7Vj}cQu{9ykwWs&cs-)r2UYnkeGm-`u(omru|fU*UlX`d{AZxe?cKBL*m@o{%ph zN~ce0IZ7Gz4VQbe3CsGrZTN_*2wGxqSV3NSYRVAax;x2K+s^03ucl~J$lb|XYr{Wp zC%Sdon;_MF94?(Rom{7ZIo}C$Q-%O19k=p1DS1!iXq&GVEB#W^O@yTha{Wnt%d1Ou z7|qjKdktEH$wjn%{7FtE8@9VSW(PgBqbbQUyO5}#)Z{nI$&Dqn2*AAs@;BztVeV_? zfKCX~c$&Fq(jPQeEb=-6JkN0jCsDcE!2>waX+8N7XVpy!^@JQ(v|jg>g;;YC zApi3Bm_H5n-5NGU$(Uz`jI@1| z){E{%>Fj{tjUc8~B&|_12UDZwCagL|3Q2EHE>)RSNSG_g9t@LRg zejAn&=iX(sDyZmK{7RINJjoJw6)t?GIlpoTYpsAX#*z<`G_2Dce3uI*=WpqL z`D4%F{nDbG2Gjj1`7eo%)0umP`#O(-gK(KXFD>ei_X0P`TcHKU$%BMkTOC{EQPT#! zLMn*6go|g$%hCH%x!Ut<1$esVMRtB~yMn$|=G4#$HzdoD(3_Ntu;pHAm0e8Q(gAWA zMphbW8pO)PDD$!wvsQH?@po`i&ZQnS6T+0W>{kch!Pc*IkN(UigkmuRkck(ypImsJ zcN7a-#9F0N94pu=J=l|>+E!@GsX1!@@`Dr?k-HX-3kL}-sShqn^#cQ8td)Jc5}|p= zD1cTdb!5RVlkTD|EfUn_kF=I@{76L-btHD0@Tgvf%T>=I#GY@7wLnCOVdaZyS`%?e zdlxlJ<(nXj?=P}9MN-d`tnDtB`s2f+^oXt6WW*lq7*&h9HOjyI5Lx# zx3#b#xMgwC*6*TmGPNU(L(}0JtEN#CKMS`m^Obh&%3Es2aCD>~x;>P0yus_Xh+Cxl z@A`!bvkrZz8M===;*#pEc&0`wIp?=ik=!l$WkYdHT_XS0&Gl;(XSh3SrUhw9>Yej}aLXhqzN-@_P9D)^d!KY{S?<(A z(#*ouKK3LbRCh8&NS_SXzIM9r(ZhAFOR9xt-t9tF!q70i^1mjnplt4Qba>~r%@oR9 z4!0ZpKSP?UVqSIL{EG3leg;OvalI_n=w@GS(_Q&>9i_Q#p}zG1OWQeVHa-Dnb2*T< zrOBnbERI_@@EVh96>+!`AUW)m#cIGz+q$I-EB`7XEf>umLHU}a(^GkGpBfcCNG|;? zA}jpIE1&u|qwigx_}!2HaQvVD!M|AzoqV>cYrImab@Le6qTrAo9X*P#e8XRVsnq&@ zGI#WBsjvK?GTJpBHmUHa;*H8EmVQgv6uQSledT9>&%au!`K#Aoeg5kASC7A{{u=bx zfWNx^)m5`vMpnK;fL80P!wNJ~K#JB^k9SmnjdzTV*7tXGj@9>cRV(#_J%LAkKcg6{?|=7jrNbJ$N~3F3idR=3 z=olQXRK^NWH>J-%quzX>qy9jLsvmv#6&qFXg^sI2hiZ6WfEtPl9EA+-0kGXsKM0EJ z`wQTHtN*L9{)epmLqk=%#~2^lQlI5nWPWIvij`7S4nmc$k9o9_YzlqVuKHa4v-Q*U zvuf#_)&ECD6`zeQeb!p~tffBN&kb+G|6F~4OrNv#IZOXK)Y4I3`6m|nmodXR%iz^N zZzi>^WL88sdjbn-$3w5sPC!UxUa(9x`3>Fk@Q&Ip8CpD zR`>buFmk5b-c}h=dv7xEOC*aZHC1~$j7nb;VW|6iV!!uTzxQln21_(xb2n6K{;AR& z9qjcgp`Z5*r&8WGn+O%Ys?yWPUSf3t@*6Z(KXF`cTbANgQMh@uDnG z`qsgVKWZ5o8m@L*{X;{rzR~*1&o#J41r({(Au$%#Z)dH>jCc0-_VVnj_3`ZQ@2^(7 z2M234;c;+~$iP6YHb7)xKr@bNGj~z#P)Nkg7=!okFVebo7kE`+BS0H8H^YexFa6w8#YRtQU+}FBq|25LIvJ z93?xriJ-=J;g}L^OKV5}tONT8g~O56r$$zPZ)ElN zh5348#Bgwsp^kPyRF%=;4p75fR6A-~aIAAUUJYKRhK!o4jQ1Rk2=jM?c?l5$FlA7s z1*i2s+M(p#DS0=^)`@Nj3RDu2^LPg{GrUP!SZ#C@Jzjg#xkln8eU=w0Z9Hp*pOv_N zh@rzy;Fg1Mv_VU#7{9))=2OwB&ev+=-Ef0iM|XdKVSUB_7)KFyPNsye9zCj+v2G*J zZV=Hs)?MS(@2@_+s$Hth7#_2DZe)54jf=m~*+CcgcesXu0%n@vm=E~E6jid2=_V-a z(>mNQ76td|gg<oI$cus>n|zH<2isfdymh+xtub6{bx)S{q0+U;&2uG{lb?t?8Z}69+&%5&^Ve5s??B}POYYi zq1W&Wx|a^ac&0$Ya*qC1>0b{G*3&y@IQpYiiZ z_DZ((O|ob*((PeSUR^+lGnFiiD|`=7U;VmaWA$6KyB&RLyVx|STK(1)FqG97B3Z6} zot!XxX;`(G|r~v3d7C=ZFzkG zS=rao(}yzB5D!K-YBY?W2*+QC9#+3z(+VVdZbW=W0iU&V^>bia+|b@E#dDV<6IVCa zR|_597ubT7pxUM|zyNEa024XF;~yyoal*w>xLiOfL`$Dw=DGqdw!cnMMCEa z@}ncru9Opaz$__N{^sQbQDd{m(TZ1I+#CsP?S2;H&yaBS#!JjNO#enx zaclL5K2WV|ywahi^a81WcGMML(;!!VF8z8`nkG5m2cBkgaLv_md9H3|g06|HLb$QN zq*t$Q7Q=?DQ%d493Yf2Ad{Am;`-?z&5*>mT$sfnn~?_(cp^t!e$);G)!%vZzO zzDV0^`;5i^vXrAoqJC|s8d%+&)ScDM1v6Y_-4wPPlYq?iY8N;kB0)-Lt){iL8O|r( z8W|)2FJ}whgwX2n&}eml#@GsJ`?I!SVRS-qoXD&P*f232s{=z~kz~{V@H~?!5%Gi7 zE=t}=4L8ygp=0H%<54g%qc&}0+I!S5yy{a6586`g@f2nw?E=^Xppw#mqwKY9A}Yt> zw!{tAwi&v&qwsmX^))zA+&qfK{&>`prjXXiNaObnN}N_nL!(!kw0osVyYDS>ZHcoO z2~jpKC{dHK2A`IK;!2ZPlCSLB9AK+_w%+(B^~N7c?;2VCt}XUIWFrC8Hb7soJ?Prg z_1G;0Z5*CVZS+gZkNPw;bY)55X?(5T_?pjS<16*XSH#p-zh_#$)_db?qURz2H8j4K z6TgxYEuh4&Tve4&tkaJRKTYkYH&P%fe}61Je8|*^A+ux%#~2(|ejY6kYrg<3SpRy4 zD*l&!}S;pNVsE@tNVOY$^P)<6$+AXofwX(1;X3RfZ035vYAgTKyo#i^_n+9Ggys`}OG4qgRjGsL*hJ8}lU| zB{NCK03hNNpgHYku}bh%oC@`_^nT^-r$I2|kUl~BJS?k9M=z;h(jm3JYL80y_x0Kg z4^n%LI2miItES?$UWsC)Ni>u{$o!$TtY7c%^D~=S66@FdIy^sP=CY2cR*Ix-!JeOS zb6Q8SSy;cGLj1)H1Q_-D6n`B(okP_=>Ci~RPVAD{X*z~FJ9{~>z+gGD`U6^KWwAQ7 zV70E;yYuLCA~T4S`W(whCdfH$(%Jv5ehn$i3U!+v+rkuJ>DIJ#O-GfzuW_0`QR*KR zM9li%6nZfxJMc27U^|*m{Z=>rn)&_W^O3;yR`;xst=B)5QFyzrV2K|2FC7;z8;+625BOtoc!IW& zjY0lAsybJHr02>{#;g4>7yE;~{LC}dIy&HTEO`Fd{y9;5()&!J|43Ul*T+F{jHQ5d z3Qqq45s}22$0sQ_URN7t&wXqzJ~@fs)j5Q z5#@@K3XdnXn+A|YcDja^!&Ye=UDT_D->i12N;C!Sq@^s`TN$sc_JLhvO8c4WA$Yc9 zn_2GG?mOuiXtvs042{S>V7(k^JONk0d}fD+wm2Xege+8sWaE&Gz)%qyy>=K1m;Dl@ zrsZhtD)<8VS#TZIKG6RIaKMQH&6!xc$OiODld>;FlTG91k;dO>GFSfwn;qc+sJXC! z+VLR6brl2)PvftkSPe26M@@W66qD%s+S+co3sP^4T_}d}lC@=RH(aIHwBYmKCR5!v zn;a5u!u;n)Yw3K@->)jAhm(?y&K?)tKUQC00UU0_YcbZ|T4Vo-;umV#?mi30MV7w8 z7D>arFplVzGWKd6^_%|51H%6_oJ4(HlqO3x;A5(Ze+GE?1)Wc z=%;D+`64fim;u}kr_hd(pPQo1_$(ufPYY+AG_A#rd}c4G#aOQn3=N9;_A^BYYJ^Qy z_A=B4HQl&PjmT2N#9*B8UY(SfTKTz}s&>M9o_Fo)c>{DyN#Rt-_w^TEtzUSB4HMNs zzZYJu*=`9~1iS(vc+x9a{$yQ_F|wcsszgl>nN=0;tFo0v!R5bxCxzM=F*8nKAhWtG zO%tycUx6#+S}7!Sul}^Yw#}4RCz=aCG(7*9m4a}E)KToE&ASqBdOe2vO>vhcby_gl zC^?it6uvvojTs>T_?u)=hBAz%4AQWbL2r84co8My*%X+PBDuY2<<`^+r(jCiX>oQJ zs!@jtCix<7yoo1ry7aqj;rug>y#b3|^gmiu7 zPYEFH38;-f^1>#*6@Q+%#N$(yAvViowPip*SOn^u0`^8l5Y1h*<)U*Oh#8Hp3)G+g z{-DG^+MB=Z?Be22Wzno(7)I|K$!v&n64m`cXw1Tzr;C4Gd-juuerMz_`aZt$Ot>b5 zu9Xm;4k7e(@F0Hgfr*<#mp+GI2{-?zf4=bCmp=8M=dSt}hyUt-IXwHXzyF^1T=xh6 zZ2Rwi@<)$7^N-(mwxg^38wO#{Ssvlc%se==?ho@>&xrcA4+3M!pnoY#o9lPVT#Mk{0&l zXzeH(O*Nq7FSg_W zo_Z+XHvgDb`I1_8^-jH#W1pNE%U)~kZq9NI7m9SjN3MhE3pMWeC)aVM2`7HBOwP-? z7MOlrvh|{{UlA<3n{N$`|2};+R98^^!_^y&L9OY^wAynIzBG2feB|xsPu<8V*!}$U zlbWhm{&!whj@rp}v)$)TPT~GZ39nO*bj@CY>VrN8wUHMeL}YMXjB^}2?sR!Z7|+gl z9|5QCtl3IF=|frB-L&kl_-5xYc}zB6z}I~0dZJ@oPUz_hXBqo)gB8wN=Inp^)#t4J z8hN@F`m4@d^Tl@mF~Pq(GbntwU*>rG=WzAT_BkxCl;kq1pT2chcU_^&JUOi&(e5#W zYlZo(Bj*pPhBEEQ6F1$q(OP(OwA{Y3Ho7&wQ7<=I<*lo%xo7jpo`1j^(WSBEKP-=8 z-R{ZI@>pJLJ-ejMYyZuSTQs2yXkOmEqjl}UKOx{g(+S&eeDuxZ6;IPlI&W;Av)sCW z9#22^?w^3#8fs$tVs<_LYt6sWd>==`N(jq$V)G9Hi_uPzq7Te3Hy8W$T;u7I&}Cm5 z!sbKV1KP*GohTc72v2fnr+$bZ)7)#pDZXvJ4^^S2U*ytnaed&8{WRCR4k2PcMTvbV zS-YtB02SU71}0cBnlaJS=ma8L$X_-#t3@OQM$?c-U7-u%sR|(L+tG_3>^52X@arqXV#__lLGmTx>Ygt~)qsM<4 ztMOaS*R{n5)7LRXv05_DkEE-Khv~{s`rN@ryk8n#l7CspZPt)nLrK4QC0Ui)+(_oR zZriFmdGDkpFS0-+OFZ93HHaT*xry6r-M*b)t6%wtt!rJsGM7GEFhQ%W*GFB-2)A$V z$LhQKnAeU6L&t~0$tlJt(c$-jba_Z)e`h|yL1Q9_bbm_SoUJ;Y)9{FZD%%TDr_@TtD5` z9eu5fy&rDw;TyTh3wwX9i@aT%p$iNr?!BI`A$0bP+$a<03p`f8FVp9+9@_*v$peS_ z9!&ULtB@TXbF%zN|46A{Rl+NsJ!7MtczOd~TLH4RgU9L*yLzxg5?c8tkH*V9E~v^2 z+Z7$tV@i)}W$Ln9Jk)WHIvP(1{3MUH1wGWal`rawQFN?T@&h`UCvMKO3}CvWXHf9l zRN{=P#6pPMWeltfyj%VLNdlcz_BplpiV}}2`n;}=xUVEp`~Z0zjs+Ul?^k2&f)#(7 zE@K_W@v57Lp9T zMZXj)xu~&U?9x>(d|wE!y`m1teLxX4cyU~hYgF%F3&w=k*B^}Iz4#39i!(eL-;Gsr z1ZuT$#uEeQXCR$U6&p{))i_ObB4OQ9|D>a5 zprfas_{Bef7Pi~$V*M51`*DCe<;g(}<-Cw`VVDB9;nt!Q9yXSdjoSFoR_8JFD|AH zm10~21XmR$?g{*+HqugpMy}dEY zAq&wyd;~1DuTRnb{uu4=A0X<7>VOz;j40ROV9doCJJA8W;;fE=0Ttr57=N*lN4OFd zkKzGyqQ{jJ)rlXz9hzbv#qkO7XiQf90uB}h1t|&)DzEODDUYU(HlHJECwD8)DOH13 zYOf+1vLbzoXuyi}E28156a!T?ykhErQscNdJ`w)7H^Y-%$ehPVp9wpE4bg_S`HrR zGe=qjRypvvD%5Wk;gYEG5UvIB;ow$XQ}x@Ms^4BzFL+V?_E^1uvHIYT+IB+-=X}_8hn8iam$*JpWtt6j7)S z*Uxv^YkjxB_WA3$zfO)?bK6pL+bnv2ir%m2+LvQ=?aLPZYKneUqgneF%hCcbrNEyP zP&d}TW9<)HQ)|B*ve>x4Hrs1`)L*}FV9j3+JU^g|*Y)+k)>Ss}zS_k^(B3fm+~89SeTv|9 zMnukMyxg#Gy0Ir{Xx2PpaUgYWZ3Y?Xqejqj z$L=}1Ecl#U)oDW5*l#OU0UA-e01@JM6jJp2zJuZqF5a4(kb5P$h5$Ug8Rh!4>p^ zE9eDR&9I1@vqhew8DeD6+Gq~3v z%DHH27me-f1#Cl+^Q5tOrTNf5(E5wsap@AnL&HNg67X_5zfBi9aiPU$7YM7TPY6PV zIS)E0bFRvTcC_nJL8WeMvEkGCge|JZ7$MrNH=brv^kQaJtTBdrujM1CqU0Ou1*CUT z**W8_T)a`|c;Q|x|0g2cD%xM&2KI5Z?B?CkL3{KL6_-y~&=WZM$``Hpjb8jlMOMCO zk(DoY;YRIr(5;Er9j0!Q>T6GSNJQ&y-;>%wFwaK?KR8r$1>HgY;p!;_Rm1dH7iZlA; z^(cN$cf0h8S@$GxPfLaT=@vU*r4=eJn|bCcFC zs|RBTrvvFOvb%+HLFMRbRocGBzu>Hsh~*n&hwM z;VIT1?^SNN9Hw3BT|hKiKw6O}qDmZwgz)w>t^x_wSa%Rs+$JNdxt9%im<8GoH&KfC z$)*$*%7*N&7j&zNs95f;KozG#EyD$h6VUZ2_P;66eGeIQim{w2spu*A!>EOhm2NeB(VB|$GeK^zd-ev z#gv=CEd63jujjCK{p2~9z^F2qjcg(hi~mp@mGfKP zjTeNF#`DlmO5t*-=cy&g>ep!(3dwEQ3^rcoqP()6qci~)cd44jc5A?1xL>|JROn>7 zP52y%Q0uL{m_yNy^hfo@^hva44As^q-1KRK!mLx zg=0Oo=UClbOeHt;L~gd?d2&lgv!y$E_%MStW=GZ38!z=@$xyuU5~QinkhLS_7q?b= zL%D%c)0?SSAXHJaW1-9<-H5oyC<4vM%ocuRJlHFRd0w_w{05tPBnWIw^sx4XJ&mOS zGHQl#DGpZ7*cUZW;iPE8vW#fHWSv|4l0}~O$kP^il0L#AOj7Zpam76Pv~z+6UtCch zE~tTlI=9o-o*wD~XPs8j`V>kA>A&C-l_?-bR4r>T0yR6QL+FC6m0yp%ibfIrUwb@}3eW93WKZk+cO z!{#e$V_0~5CACq+)CLFu)vrVaiEOVHoq9DDu;D0Hbn4Yn!_uoz)+PkT_bm2fL*Uwv z9T~q!7v8M&FSzC0PiQnkHLauA53y?dpLJGY4f-ONc_5H=oMKfovujiHtT*sOL*7s2 z{7YWc|Ml+}B$dW=V5Mdvbp5dR=!cBp&mvm2CsJXq;fdM((Ad!Wl&)%tvPLnvn~WzY z$|kC|d0F;fTKx}tuO5tL+45Rh?oxOFV?BTJz)hoOIorKG-k9zC`fMWCbul86sRMA> zO@Jg4FzKti<7sl%$H^mtG+MJ*q%|9>0TP9(lvAjIokF#MR7Y%B8fb+%@-d8$!n=`p z>kI5W9JDaRcGy7d>G-Rqm~MQ2Gsm=Xtqr4TQ<$Ls=sN?J)zE}Ix3(JCU&%n=Plkup zlk0O&j93kzj^>!HK5*%oH8$bB#$?%KutDuar>yBUIM@e$*{7iT1_=$+cntcdfrk`zU#YJ9<4NFVdEcG@5OhZFa(k&-8 z*xf_Y*of0DMa%gumsYaA>ho8|<*3Jk+7uJuc9mAGLw(;Oup#eB8_M}7E%LNSo;GT+ zj=72xgB|J}=UnJF(&H@HL$EG0re4z4CFR$i#0>6%I3B20DML^?8KnqV^J^z*(RF#C zY!MEN1lLZoxgc!#w~%^gsxEnzi$&8bO`JnBd$I>7JZDcn0!8?XN0>-15o3*J4;cO^dP{nF_`=X%Z=ILw~@O#T}`FsEEOJ z#gXFP2Dsq* z_Jx=07qoNZsf>IB;S~`vriL0-n;y@VAL}V^<H?p{ikEn22Fd zF89~1#6=lF>KC`Uh_|{}@bD|R)2%F`4imoTuMq~h0w09RQN1ocYogvPN}P}w*_^+g z)Lv^+bZSF5{{)?Y4$nUUK0VN(-e3v(0k2VB-Pbb2D2XYBb)dp@Bjoe_M8J$KvlxIM@1xnj>@J?RY3weRSOc~H+W)r^r)&+U3*DY_nA z?0U#l#=frWS>DRIzD>{bH+GTdTxSgfmNFmIlkY|8d83}#s;*};yNAe9>r*W<=3|Lb zj@?u}NC+#8B}MZKNtj=hm(_szMTqFK-o311t6dc9QwZY+X;?i}nIRlI2Vtb7N}GX0 zam*P!`LbV4`HGr%(G`-I?1J=s+MZ9^^V@n}9I!5UhhH`LkM(2{mH&r4rDrPqOM^d{`oi5^<tG1 zm1q4b=POl5@~C3#&+2*6=A6|^xbe|iCDibW3T(n~jhgCs*L{oA3-`>Q+I8m0?85Si z`BPKJ7v~>as*tb4@@=Ywp?eOVI*|J%E|5V@%+d{akc1+_|%+Et0wy50VyNhZH`TX)^rwN<;W-LVxNX>XD{Z8S4k zlgze#5&P(aR74O_LHv0Viin^fg^Gya9|)rKO+@Arj zH|Lyt?zv~qz1it^&t`vA)>X}xCy(+Z3WYoy$C213?~grsHi=s)*tbgT_JTc3WiDq4 z4@83}kIQjg?r-XPiCwGAOjYH%j5h*)$dSrdYn zZPn9U$MEXh3N*oOOBI^WE!8r8Aqt(|&m+Qi{ZLYeOuIoMsjk+sLuGxWU zIc`}seJil*nyy;hF}Ydx4aeuyl%v|N8(2b!x~2K9!@WRrY|D0ZJMdLA;DTG8Rrdm2 zIF@5*YT$Z8m}pJs&^ibL%hdznJ9TcThQ|%l)r4c%-0|yWGZ4Dw>p|Jp%bxE9wrz6D z@=VvjIC!pQn`PV9-MY}ZVW1vL1*Xkmbu1Ct$wzWSM`0!|nfMRU@G{bqqtyTmpRq?>96ZMnEy zlzKsJ7daT)BC$;aW$xpdpKF?52z38e{Q5MIl+?_r7_%j&=i{h!jIUG??k9OFCbBFE zy;df+j@{J?qhLCT8@q!;hfI^PT@rIv;+u)ieM6z}4Zjn*NbexbO zFl8@D?1_FGk2J+GOz{n|HxrE%ewJch4x8C#s-JqI#iJ#4;`qGq;k%=wBjjcydw8l4 zuaXm1`#Z58vwGa<4q9J~;htabD!2BSG4v9XJZnQFEgT~&G{z>1R++g&{>TcGW}_#mDxwqAZ+`gj8KKw6}RwB$#J| zRgy`NHa<`q#IHu$GBOHS%XRA^qejoJj%;vGmr0`_d67oRAf=0wt;`5_YEqP+b5;3*yiT(aX2^()z=1%?a^`q9rTlbzmb;X;fPp!dP z0N?sMYH8xv@)g?RC*9|vq%#}U>h1MKE%qL(?JvIXwWi3@#n%|kDwvnNu*?S@De@mE z<3E!V73E>NmfLr|=lhn>F?MJ&PAXBf53>quq<)+Tp#)Ksv;4UUGStQC8rM|Llz#bx5KKd~RR>D@d}n@Fh%DaH7b|e8;E*7d;D7{iBzPFXqzEof<+fZA zLaq@6JH>MX2o~9Wa{~5u=`fm;a>Ov<+bEmea!F%3jmp~p4B%&B1GWL2(qfK8f_xVM z{zCF@c1`CQK`5KRq_wvhA&M^UmC&P<#w$afFX{>YYJd{KKctQ>gHg*ww^Yt_-c!<~ zolRB-%xwl%ufpXDR5StMsTG35Yj}!RUGxQi7w@!n0Q}wjv(!czbS@4xKWLoSfxaIp z*XcR{kZn>TH1`Ez%5e07Vr&R+J50F1d^uh0TSTq zu}DW*YU2WO$RUj&pM=ZrQnxpCSV})=Y-e-(5g?oTNnS_2Z~GnH(HJt+ug;Fe_!S#> z1mGc{YD&jc(&+p4saugduL^?FM`AKC9x`43p&yApl@ PLfk<@^GoIbXMw)}nyfYP literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.3.9.0/lib/netstandard1.6/nunit.framework.xml b/.Net/packages/NUnit.3.9.0/lib/netstandard1.6/nunit.framework.xml new file mode 100644 index 0000000..1df4636 --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/lib/netstandard1.6/nunit.framework.xml @@ -0,0 +1,18728 @@ + + + + nunit.framework + + + + + The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the 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 synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the 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. + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + 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 . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that 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 + + + + 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 + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + 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. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + 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 names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + 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. + + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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 + + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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. + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + 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 + + + + 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 + + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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. + + + + + 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 + + + + + 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. + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 fixtures 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. + + + + + 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. + + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + Delegate used to delay evaluation of the actual value + to be used in evaluating a constraint + + + + + The Constraint class is the base of all built-in constraints + within NUnit. It provides the operator overloads used to combine + constraints. + + + + + Construct a constraint with optional arguments + + Arguments to be saved + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + Retrieves the value to be tested from an ActualValueDelegate. + The default implementation simply evaluates the delegate but derived + classes may override it to provide for delayed processing. + + An ActualValueDelegate + Delegate evaluation result + + + + Default override of ToString returns the constraint DisplayName + followed by any arguments within angle brackets. + + + + + + Returns the string representation of this constraint + + + + + This operator creates a constraint that is satisfied only if both + argument constraints are satisfied. + + + + + This operator creates a constraint that is satisfied if either + of the argument constraints is satisfied. + + + + + This operator creates a constraint that is satisfied if the + argument constraint is not satisfied. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending And + to the current constraint. + + + + + Returns a ConstraintExpression by appending Or + to the current constraint. + + + + + Returns a DelayedConstraint.WithRawDelayInterval with the specified delay time. + + The delay, which defaults to milliseconds. + + + + + Returns a DelayedConstraint with the specified delay time + and polling interval. + + The delay in milliseconds. + The interval at which to test the constraint. + + + + + Resolves any pending operators and returns the resolved constraint. + + + + + ConstraintBuilder maintains the stacks that are used in + processing a ConstraintExpression. An OperatorStack + is used to hold operators that are waiting for their + operands to be reorganized. a ConstraintStack holds + input constraints as well as the results of each + operator applied. + + + + + OperatorStack is a type-safe stack for holding ConstraintOperators + + + + + Initializes a new instance of the class. + + The ConstraintBuilder using this stack. + + + + Gets a value indicating whether this is empty. + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Applies a delay to the match so that a match can be evaluated in the future. + + + + + Allows only changing the time dimension of delay interval and setting a polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawDelayInterval + + Parent DelayedConstraint on which delay interval dimension is required to be set + + + + Changes delay interval dimension to minutes + + + + + Changes delay interval dimension to seconds + + + + + Changes delay interval dimension to milliseconds + + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only setting the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithDimensionedDelayInterval + + Parent DelayedConstraint on which polling interval is required to be set + + + + Set polling interval, in milliseconds + + A time interval, in milliseconds + + + + + Allows only changing the time dimension of the polling interval of a DelayedConstraint + + + + + Creates a new DelayedConstraint.WithRawPollingInterval + + Parent DelayedConstraint on which polling dimension is required to be set + + + + Changes polling interval dimension to minutes + + + + + Changes polling interval dimension to seconds + + + + + Changes polling interval dimension to milliseconds + + + + + Delay value store as an Interval object + + + + + Polling value stored as an Interval object + + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed + If the value of is less than 0 + + + + Creates a new DelayedConstraint + + The inner constraint to decorate + The time interval after which the match is performed, in milliseconds + The time interval used for polling, in milliseconds + If the value of is less than 0 + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + Test whether the constraint is satisfied by a delegate + + The delegate whose value is to be tested + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + Overridden to wait for the specified delay period before + calling the base constraint with the dereferenced value. + + A reference to the value to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + Adjusts a Timestamp by a given TimeSpan + + + + + + + + Returns the difference between two Timestamps as a TimeSpan + + + + + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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 the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + 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 + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + 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 properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single 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 type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build 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 explicitly. 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 explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which may be the + path to the assembly or the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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 + + + + + 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. + + + + 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. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + 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 + + + + 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. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + 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. + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + 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 + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be 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 arguments 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. + + + + 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. + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + 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. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type + which is what does. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + See . + See . + See . + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 deriving from MemberInfo + + + + 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 deriving from MemberInfo + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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 + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class allows direct calls on Type on + those platforms that would normally require use of + GetTypeInfo(). + + + + + Returns an array of generic arguments for the give type + + + + + + + Gets the constructor with the given parameter types + + + + + + + + Gets the constructors for a type + + + + + + + + + + + + + + + + + + + + + + + Gets declared or inherited interfaces on this type + + + + + + + Gets the member on a given type by name. BindingFlags ARE IGNORED. + + + + + + + + + Gets all members on a given type. BindingFlags ARE IGNORED. + + + + + + + + Gets field of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets public methods on the given type + + + + + + + Gets methods on a type + + + + + + + + Extensions to the various MemberInfo derived classes + + + + + Returns the get method for the given property + + + + + + + + Returns an array of custom attributes of the specified type applied to this member + + + + + Returns an array of custom attributes of the specified type applied to this parameter + + + + + Returns an array of custom attributes of the specified type applied to this assembly + + + + + Extensions for Assembly that are not available in .NET Standard + + + + + DNX does not have a version of GetCustomAttributes on Assembly that takes an inherit + parameter since it doesn't make sense on Assemblies. This version just ignores the + inherit parameter. + + The assembly + The type of attribute you are looking for + Ignored + + + + + Gets the types in a given assembly + + + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + A shim of the .NET interface for platforms that do not support it. + Used to indicate that a control can be the target of a callback event on the server. + + + + + Processes a callback event that targets a control. + + + + + + Returns the results of a callback event that targets a control. + + + + + diff --git a/.Net/packages/NUnit.3.9.0/lib/uap/nunit.framework.dll b/.Net/packages/NUnit.3.9.0/lib/uap/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..95f123be2eb51e015d1982be55ab71d18851e586 GIT binary patch literal 314368 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

QH`N8RtV;$*ZKV1LtcBF&BM0*JZK;+}OIl z;3$m8XkPvV$c&%gN5mE*bB;5ytCLW3&~0mb7ulNtW(w4K0=64IyJ71%p4UP7d{+g& zX&(}c9gW`s&3hgmib{YCe<^5c!XX^={gZrlWb4wa0KqW;ALRt#8wIEuOgG%?(ey1p z70f824wx$!^%WEj#Z!WH1_?5kJ_)E=@iXB5amsQr1@O@4N98nXA$;^8Rt!^Xf?4Wj zajVQAzBd=V0hBooq_U>WHHX#}PYOg<9{@Q(WO1}*{jdTeC{@i!)X`kmk`@}(uHYXD zgR~Z`$jtcya!}}{VDYwZINvPkg+FY8!C!3N;k*Qp|ebJv&Y%_6--~cPo+vF@4&-qx>S315Cx08^1@# z#xKCS;hbzLD$!fF6X`WAB7M@I_rY~xpe<)<+KZR2j*OCg88 zMpB5b|3VEqwZ3)8A-X=OQpjp&1INvBRDg0b5Ukhd1ZL)!9L>pRwoni$V&8NqfQ*+n z0(A$bAflUGt0>f>E2+Y1|hNeQYyXO@EW+ur8aAZcs3hAfNeu{CV*;IZf zxsWkB_o-I}XzFMIWcbaySxC96J_2dW9waBOLiUUjnL{gDOw9XfzowH`%u#;(C+$%i zJ)9d-bU!oCikpZbv;af9=C?f>p%~E`L3M*QYAw`)35OeYNXcSz8O^UtQFavYWY}Am zo(@UYB{*^m4d=ZQZKK)dqb(-+7N%)pu0$1*b4Qf|kQpk(%m!PCyYor`uzq>l71wMw z+@YmVz-TH%N@GGHp3qYOVL8kyj_2h?yG5PZBAj~EE-<^Y$EM$m8K!g^-wxT9#G_(> zX|It(iq|M(F}AMAn(J}#@?zY!otP`@VNoG10;65dYdN)`-?p;OPS{Hw z^`D6gs!9Q`zsoWGROEW(j8UVV)BKXis79s4Z%96Wb@C1!9nk=cnzBU(3YYl${+}oYMBbpkiP=76wZeR{0dR z-xf;|KVlrkZ5MwD>3Nntw+AOk_8FA~@PZmpwrxsDHsR}_iQuwacr0*7Ew(63%ea-| z>ToeGn^#IxUNe6sfHKzsj)RTdKe8^#EGDU-YRVW>0aLyJQm&+Rr?^o>?Ds^W|3_w? zuo*kKFri@l^p=TBjFk)066IwGALhd#d~`&Q3+$ThBHF0F5-1`le!Nac`nd@8Ed0un za-OQYglvM4dC%@3J3!-$KR9V5l)}wUuL>pNFHw4t6ybz$j?XPzv?0n)63H(@H3#dV z1u~8KjP1nm`!8w0QuS@nFx%wl=y5&^J2y9e$y&t1Y+<*OdU)I+b5;9gv`Zj)eA06x zBEBqM$C%0debIAVDOLiv-2N0$v1EDDbkz*@I&lxoTRBr~-kLq|We8`at z-xuzi!uyurEx3fsr~xwlGEdRWNJQw0l;Jsx7$X#kWe`6zN}0z~z$f>far`qi*tBIc zQy6C+6C8-`$as!EF_$o zVmqPV!n8?C7cOjsS%lS@g*lV3pXdp;?efXR?3u5+={G*HH`aZ&D}kL1vI6|3 zf#n7RC;8EHj#c$z9+&~3?WD8%Hy`6~zh=M&&x8z4O<9Nx3{kOC- z5+=ezSPbJ~It+)$?Y$VPgg+Lxg^%+-Pb$Z6gw7azoX{Ad^A^X?J6s57!%Wx${21l& z%qEQ=>f`@Bb(kD;WI8e2xJX^yNTA$|MIIZzTHoE+W zsS56Wk>ODINbLSR)z61>G^8Sv#Q4Tfq2n4x)!^!Gu`{ZPZz+<0-iF~h^UiupBb4Fi z@3QvppmqJbla{8etU5hT3k+)M+4^oiK+;+MR}~i+Z?U3ZPsfkPdAVk{7wdbi`P6)g z3dWh2tD{s17$%R?%d{bM)@DplpYt5eq9wk?2p%32vM$xPIvO6OHcgS}@K@UM(pqEF znjBHW1RWF|OtC0_<=yyreJ{q0f<==Fg%coA%fRVZ6ppq@`lR)32GVlm`vMkxIGi9& z3+Yg}NNB>!IF;XRBNVk>Bt6_U9EywX5vJr276FMjp_t^WSkNIipj5U#AZc2Yc7P1iRB)E`EG~#z6aO{y;vZ1iY232 zhXoGYZGGdT-d65X2#+>Gv{0Q5`+{@^p7^0t_yRe6+1?J<)BnRf-;#yiK`629+rwSN zN;jT@Qa%97KNcQv=<~AGLYkM*x){POd6{ZBNh!~LFwRZrIZ7)&o^VqVjJ}5Xs3?7yVf@VIhfi3a zu1;%bY|Q6qeU`cCR9 z(Px#B7gvL;GonFpQq7)o`X?+Vd}D#)`JV7@o@eRO3_LHbhzr!mXT7gc?m%6+&?RiC z58>Tc@6Dq&a9>AS2MflBga{2$JqQyYGzxGf%{jmKvr$pIdR?ylR5MK`jWmrhw5!Ij zJ@KO{FyyqR=NX%K(VAY{-{7 zDZ%I6PXp4zdz6$U3N3>O87KCwq@bu)NBw=VrtAA zF5)h4IG;fgl2A0v96K9GY)hpvED_p>nTw5|cow(gUwUY)BJ&p7A)w zm69f?h<#0)@ZC6R|MZuiwDt6n7T+&Bb;s%`Pc->=X$qV3$6vuDF5kO;5{qjk(c2S- zPFJBW7{8R56%D0L%6dNP;w#lqq@KjmQ`)Pe=Jji9!d8WLo%srB*30#)Ohh4QzRq0O zq@K+n4gLWmb&==-Q(StEe>qfKC6&0=icSWKl=sz*TSVb%p~`z-w2S88%*L;=q?)gP z^!4KvSJO;7cdVbYy!AO_<>RI(sXQ#abqjLoUz~{S>9xqET>trHC6cR@(kCQLrRl#8 zGHU5B?`GazMHe;r7Goq*j+>HlBa-Ig^)*_(a_g_okagviD|`Sl_|+P>q|AKlAh=Ac zNh=Fu>#q%~uhjOd!|B>9RrhPb=!cI&`BD;+uBEr)(#*9D%lCc0_}AN|iW5*Y>b;Zs zdRE&-e=y2*#dz={Ow1+lpJ(q*MCVHL_Q=IX6B5>9UM@jj-VQPHICYpK5XjrA1st0qaE z?Bw7RSMSfSg$M_>7)S` z(v@f{biOnE2LD*}haeE=Qrab`+DkMm0@JjJsT1!K(M~qBL>o-10K-RZ%!rFYy zTB+wlrM<-yp{Pl=D$mL@F&4ND7B{NvEhcbZKpgzsWdpEgOI6OCsc*!ms}9SjUt) z(^bvB`P0F-A6>iQ$2nh`jobidqiEMCLf>$>Bc3AM$;pA{X9^suOpdN^bCi0 zur}@@SE(zVKB$fq{`(=kNim6Gx8ON`twl?DKbUsnR<8x87bC}GZrT2my{|}JMK!{C zfds#cd|B;6Uom%BJRX;1ZpsvGHkwIAQtg$hY@9k(r7pOR z<)p6Va+ft$-+YlAr9uXgSZncN#fwg%tEJ>`jYL z`q>tGzT3P%J_J&B5Z^)U!-k@rghWsu3%dxFI%V7Bz^}(eyN)G7&m^s>4d9#WO?Pf! z3j_5~@^z&H%V0-V7r~qi$~th#Yi>rM&X$}2+^*pq-xaa-haBhQoOtaBs!oyQ#Srdw z@qdQc8S;o&Twl%&+rB8$G08953od? zhd^ce{s?3%f?j02Ptc!Bkm^Wyf4DmwWTD>^?q%kFlf&1;c;6i1_~KZ&pF`N=ko(E- z!SG;sh-22@qBq-_tDVfv?yx894g13Wa4LlA1B^;+TP#w&Re$pXBB^kWFR?-$4hkn) z5|g~8#EE4kA)*DnXiQMGX|Z|DVbmp>n@|%&d`$;GA9&@OB=$5zxxAmCUri2?1|DEc z(lDe?JVB1orFpf(*FI5?YSLkI=y5+IF#{dfsdlJ&vt~t1XMt5ANiTL(8W3Zgtb>T^ zg^i>QgaN0IZOn@Q3q8WUYNLg|qCGM6rA@bqq5)|LVrb5+I9hv?LO#NJ*OYL>JX9pb zOd~>!!602wsmGMO@dR+yb}){A*w$~@EOFYHRx*sJ2H`T?pt0scGu)7R>862jqvJ+m zShz`yx6~&JS)fOHhRwwuxei3XHm-+;8-+dLr?|l&FEy-(hZ{w$O^)*?x}nQq)`&z` z(gSsVq1k?&%p03?aV!V0c!qcAYHeyf;wgSYqh4!n{2WU#i7(%VFxt`ATFW}BdDS)P zDAlo)D=1D?`R3Q+OTWF|Yv>Lbk}QFesk!O%NuX|0@TD_Gs+Obt1@2?2wTx8aNr3&H|e=!VSJV|w0w<>rKBXQ;737h-J40=bMY2nEj^OM~t;iJCpo`mmS z+lu=nytlcz;z>IX)R0DO?Fgd_4DZ@Tzc>u!pc|vZ?q=#;lG5uHyhwqY4=@3uv?LLK zLvBQHmmJ2&{Tmd=w1rP)!~vzvxZ77!mBhQ`LZLKQnL@j0CA4lwiuy!`cCE6|>D)iG zOSu-mb&3x?1!sYcN#g4a(G|AP>AR`WmGpzKU7AqQY)~AD)=jaerU2h?k)HFbw?<&} zuJdEWaoXWM72g-)dm_H?j_&v;a!%GKzAQtAv^%>+>P9Cls=BfQslcXlaeIVKJtou z$J}vOsDF2OYh+DtW#WWpO_=oM(JWPiQfitGFQXv}dNz_{eX0ho)Feo~jL`5_b}kUy zJ49mjCc?Di5>z6^MVoedjr|HAxc<@-U}C06P1Lx+5m|^p&5YUlb_Dy|8M&16cR{Rg zWh&lozAqBRg5cQ(L`DGl0ts>eqJ29=+^kx*{}D&N%Na8 z#t(xB)ZCsEZyr~8P9R`&fPK96Y~o|PFsUCTIEhEl9$gNqFn9OD70qs za#Ev}SN0k8NZT{5dN{B`h5((tCpaV$KKD|w_R0J!-ek=u#mP7Qb4qccEPHxuUl(p z7@=F(+-&J#Z%wAlG~@Xe8$a3aif=U!8Z~OfwAp3fp@ujj4#`Vjt>p^Gjj8s=DgOT+h|lx25g1 z@GZKkKTVec)^uJ^N~ILXmfWf~$c@Gpv~3r~=G>(@{e-33)tE|SmAPf)l{#HN_{3^+ zc2%Dqrs{j3i7PJ7_5FCwOXF=hOK5B*TdI%d{cOzh%l4$mX2kHE?G~X$n^(OpMLM=T zqSKB+B;s}r2|%%y(oI(%T^LWT6_>;7I-Z+G(O}iP^NdS-F~7rg8htvP8X-lB+IlrH zF&wd$WU~=laPc5!lZ^6-6(=UN5b=lFvQZ_a;1$?lyB1_<{a6UM)nnMtlGHzEQreAR zx45%eF5lTmh`SBU4CCWcYW&=)C~h@w^-Wvd=JS~5Fdg{#@^>{w_(=+OY3YxC*(U0B z2@#8=uUz4@c-J@SD0g|PZhF34;yKbZfyFb3($ep~){dqQ9iVGE@OkBKi7hJED|ISN z)z4(H=0rpJ3`nKS{dbFNE>Uc8!1X-{Pt>VwCPI>mF3YzB+WJ}=dn-)T z!;&RJdwvnG>P_m_`WoQ^Pn@7lk*=#z?xFn4v@9#)b+r2-*`X4@(<)XUq#}t!&CwfC zoj6%q-_0?Stn$U#a#dA*sF#_3@o1bQ^^y97Vj~lDM7!eLE2EJsG@JUZbTqmD<|4n| zMZ9sMk|=6EFh6XN=HkZh1{f?r%t&#tQ0lx@?G?pO9rWANy$G; zO}Sx!Rd=_qI&nBD^QjM4Q>t_IS+t`KF5$X=9IjBjMkveos@xQaqg;h1_r zMi^Z{m4s8ex6g%k+j!oXMtYa^BAo=3`h0S=df5W?rCequ97wUu zc+jKvHOV+3J@!!MkmOo}2u|44=3dwp7FE0WfVNONlM*)6b8(#8F-*ywLg|_@aU)?v zn61BxSZX)dln-4`i}m$icMCm_(5iE;(0&m+V(9!Z=c^c+9{y1H`=JZ(ls@`)SNO%h z`!JT{I|3X3=kE&t?q7VE@O#5s6n}yE|M_9ApWkUY1V7*@G3T9ixk{Y3h$cm=!t{AY z9y&)1CYOUmf#EIUthvd=b++OLHw-n;;ao1A)o3%AuaB@lX9$U7`>yV#Z*FzIi3#>1nO+KeWiKPF8TgK>D(YTtg zXIqyyX-)e%UC|}Q(r!4)%J6Nx8B2~Ir6X$w#GLh?_~nO>QOf<4VQ~ znPifw2u^hG`Z`Y1Hqt8+MXskrr|S9|l3C~gn5*k^ryJM8jaTVos|@DH z>8JK8k|B1Hku&NXqTRLJ`@&}B^F9{xVg##)X8FgQzo!uh$1<8Hjwu60qFQO*`My&$ zQE#%)4(ya+tEel7d#~L>Zp3j_8D4I4ah7+to_Tui+`|3p`hWFy!)?b|77|X* zP>bv>C)v<5LLM1pI8Vwv30*8m6!Ee0^VBwE0B?S9ygy zv1KV@Qqg=dXtz-;sk|Z?xv7cWUY(tq=I&an%P7~q>!-Wejnrhm<4*d7^XJ#r6&4rw#AdUXBxuilSW9)B2FUtiJ`>xni= ziN@&+?_OVnYkof6lE(ElrBvIS?9MsI)i5DqPmG8j*riEDeqyO7XFsTJYqvy8mZ=RgSdJj&XKThU`_h(JYuQBv!qXc zD<|oT&iX`o$(|bS9x<+deJoQlc75%k=N?9;oAVs&-l(0c)|SgB&7papy+up6o=G<3 z*q)bkR{V-3PQEs_FC5mhcb_X~mZiI2Tdl=9!gchl-ny8Ck}zBp7In44q8&3b>Z_LANzDyGw4-&GjzaOOrla3da-&)E$bqe+Y|2 zXnzE+IX!W4;5ly3Gxj7ekPG(24S+DM@O+#d$|LY1_2!-UCA*i@5y~E+7vfdoZeivm zv^;CGn0AXwaW3iWqG%vY7ZybKQUc^=sH+*dtw+b8TFa7$l1BAb>M$ak>|^}zUck;9 zMKe-_5=HtBR9tL*+o3C^hIhZ8TC^UTwIp3U9p?Ht@-r|yEy9jg+*!#+9nK%2C%&ig z)mGGe<=o+)f|K1)BNXkAnvY`Iq2-oA$4~QAKU>jm*mH$j5}ggR3vsHEW0$WsDD6h^ z?t}|{K|r=2W^Z%RKQx2l3WE-EOR?{oTmSNa^I0f)(!5@ zGWUjh&Jo^{;_JDRk2q{}^L24QA9f#uGU`7{lj=!YqG(CfRS~+hGtlqgk zmvn$6HIrUO&fA1FoiT|8YwxRH&CWe6COMe9wA9a6J#D`luB#QJ z5%@kouT?a29BAUkzMCylO&HKUWKq9XoTxtx$wu#MunCR*MxN?ca9>qU^-c0`)E?dI z&$O;CePBYcuzA8lz7y9hiBpAvB2@LWBRxrCBJ``VH6hTqCdr7<-1v|SI1!orqol4D zKVFg(v^p&_l#A4a=rk0B=AHEjc5&OxR36^-YE;Ae-E_FoO;bXYPfZl@Z>w)zh|ABR z9ADw#5&B=;={c)&+$1)akS`)iXEQme_SG$VI97nxd(Y`ZTLsxM7K_RBc!^gz}0i6^WQWu=R4v230omfI=+USl)NW$ zSIsZzD*bBGO@yTha{Wnt%U74`Fq)^e^)+Y>CP&Nl<4rIhq1 z@9S2yfI|hmB`v^wY;GI{)6)3($=zZ<`wnHF{(~{xJ8j`s(1Lf zc6rTr6_%Bizwt2RlEY?Vl99IW(t6SDB3a=14F+ObMba8IGtSL58r_NtHzjw<_4}T% zJ(X1%$xW5_lJj;4qtTifhOSj2w7wgy^)Pn!5lZ{r3Dv3or!hz(X{5=eIrp#sM_$x@-(Qg4#R#{A!YA9brO&3Vqh zv}3G0iN0-=9F9kw&=xP+9;V)SBjon0=X%g+)@um2=er~Ar?j`yeKhT=?gEeJc?zec zoma1KYs8w~ZvE1ZfODMr#JLX{tqLkS7QYfDB!8^LU4;u@Y0j_QP1&)LV=Q^{NTb&Z z%)QX;wCqN~5+r@?d!NnSvr<8*Re;?~O(;2_*k|JmEHQD^=QFzojd za_j2YEWea>&|4g;b>QyR8jtAT-QY`TRYiUbHE^4-2nk(Dg$SD;U>vf3Nhdl^E*tk! zEg@SBOYAUTykg0!PQ>*qME%E859+7;gthEjrC(v|H@WwF&I}UCfJ{7&UE%dSzfvr0 z76X;y@My+7>A_eI)#gDPXU)<2uOvu45m9S-xCoHwl9J#8Qy=3GLyb(@RRzsETYq#v zDIK$R@$wLDX(^x-?`$mPOh}55s3S4Wgh%x<+^Bj^A>4f9t7RZU3`?I$)0&7&I=ZM? zirolVd>4^>9wa3^Ni^S)=PI}lTiQS)k*GoO3g-u|``1g8(DfiFvW^XXkeu>kIblTq zSpB(t-vjhc=dO}%VQ0OhA7RSeo|be)5punvs?SYd{p(9iG^Y(k4a1R{bh)jWrNHfn zbGClxj9;l8=@ps|*Gn~xn)oU_S-P*EvNpr6Jc}j`M-v&*jZx0=21na0ZjtVa>(?C2 z2J{>C&|~BgFH~>E88uQ#Gr!5n5miHeSxOvJSIK`%ef=86Mef-pohz(MS6hYjjk#?p z>+@Yj*emw9F83?;cc@tRy52UVHuM$yx;VNPqQnQMCZ+4r8p;ic zp08T6A+@2b-DlV4Y~6SZDGejJN%Bwvrb(%~w1#p+{)I(tcAJ!JNNp&4i#Ub2z*S1G zOK&KDll(cfmYTF&m)1~@UR|SPLux}=Y_Qm^dE!@ad(teAf;sIsoMnrPN-H?X$n2X4 zZxcUtD`-&{l1agNB~1ClhfE~MW}Eh)URyFdcw5?UxZO^?MLAso5Ctf|f7Qbc1FpH5 zFWSfmwNIM}asi=@f385}KE@iY8xW)msdvr?!roC*eD5YsoVBUc+peANJMnP4Ym924o_D)Yl`u3+Fa6I+D<~TE939?yZ48Anm&5DL`X3_A zRWYwR-{Ok#HGVQh!*RVV)#%1uZN{bWi&?9N`nHAo+zH-=rZ#Qb%=iSDW#xF9Rm9<2{p8$I6st1EHg4R)(mzc|%ZujTGx?Q3r>Dlj{0D-px9++3v%mR| z-h1ztzVb&e|8JH5eKEB1g{QXRQmNd|V_>s_{d%-?D8BT^{`#I$D`RAC>DXLZ`s>nQ z+i=*Z!h?!`sx*i>-x4;4_Tf-j`Vru@7fNM+b@{8?Up@Zn@K>k5`ux@FuXca6m93V6 zrOy+f)ynb)1wNGmf^13<1!^Ztm8G>9Sf1_NT=__;vhoz~rQd7m@8^AGUuk0~ceYmU zubiwr+#g!KzER?1Ev-Y9(E{isp!Pty!S>;nQh$G2XQ@){2s|odjB=RSv%KP0cF!otB$Ji)xtarG~5mM=^t+ zVm4YTRi>aamI24C{y&KI-*4sb@9(60py2+^mGeBa%=d4gVx?r2gK*{RW}a;%8$(ZL zTV=6wsq*p4QqAUc&06?UR>`H<)+KA}lBIsRhwIWdLyMKMn7(M~i-xBbzuM)v zSXygoXRu3N|39&`uXT6EdY0C@jkFl|(pq0&c5#x}Z< zX)F+eO<-T%oreqaRE?vChTgm(74os#WT@=TrH*bUm<89#!W7+nw-d4(8(8jR$!UGI z^!L%R-)pIi*}OrHrIw9>#k!Fm`dkV|q!T*Z7&ew#yGv#M@8bV%{_g?htSdr&{NHO6 z@Wpa>Y4gC+AC_7G>Hon5P@aCv^Gr)ee}~q@(4fVi?O;l3&zF0l7G9OwxysU?s>`d> zts(SxSbcqMq14jX!>U_)F6PjLKgUo-<_GeW%MS_Re^zQy6)P`$q`yoXD=$-JM`&d= z4uS;uRZD-l+!b1==w}1Vql~sZ)cTH2&>H{qJwunCtkk~aG_$;cH(X=o zA^x0vGM2LPkml49L3@9DfQ|hPs4lmH)}j8PR#*Y!?&xeC>M!^AhSq_lANE&jLj%hY zy0AtZWc2f*EKmB@!izs@>F?jr*>3gs_ro3sD@#Ao;67CXMQYWU3v0NwTxP~wySln~ zc9*+(_Vo00cDDERmCM3oUmua)-g3E@NN=yuzZ}32ylbosU(($43wyQiytQ)!Pa&dQ z=2025e@j0b8Z3jea+$Zy;pfVs1pwuZDV4iJtB|TZEggd`LxWwN?d3t3VP(wc6GpB9 z!@>1}S?dL}b}W3pE3^)h9o$4v?JwY(1GT^Ce@7=1AeQ_PGh=A5nHT~cKl6SHx8Mfi z@ab832;>cxH*|JX#)e?h_rsAE;RJ#Xb_}-+4nm0H#V0p(c2<^tQKkYaRvk{J{kL@X zc$<@1o0CI>>)M&@?`$tNU?}{7m|$vBxT>{lJyH8}7V8pa)&}?!hpY`qIMfDgrPTV2 zSmV5Zq{I-Jb-Ml&$bhKozr4ks+ay>X7CYxrDz!q&rJ+^@`}F8`8T@&Lk-Mc*uO3}` z^q61*53MDZMdxsvUP4QW_1T8Cq!l7*k=(ny3vSldQCXcW53@LD`4ffLHshg=-24>W zV`E8!SpJAT7byrGX;im~_dLv-7F)|aSa(2{)+)6-+aUOU#g-8h&uw6Z*S2pSsO{G3 z)*KFlp6&hg2)t}pKbZWb=OjXu2}ztX8@l(uwUaeySt_-6vwELnF5ws>wnP+Mdags0 zz4V+3h2@%RqevFe`eknDww^8YmjwcG@M;waciB48Qt5Y!(wfmfYyVK6FgUQhHn9Au zf#uH#@0D7YAz_q}4z@s2rNIp?;D(v#Y$B@c&zAO{0HgZ6|G|s1uyZgav~}pw zSsH3L;%o;IT|@0A{i}Kvg*^cJ(9u7Y8TTceP?5M zBP?O%sezSG53D@NH1#D0KP}Q<{s`0wBE_XDwYN|c)M%>9%5;`73hR~7A`$QDnV2@U zWhL}e{KKsj_rDv-n5k8kgh1yX*nucSPD4s9a)QLpl97bha5S*3dXi2-C)Ln-*se5^R3ac#5$6RY+p_tF}oay0o@Q%*H}KbEqD4kFaeD zQ;-H3o(-c(u66nS52v(ksk8$&MxEsGLN_z0h0QVc4EsVVwpd%7U~nuTpMdfCHY zHwaU2q-1;1LT{jB=_(KbOwzZqwR5H&eht#HqTfUq4;s@whkCs9+@?ruD-VJ3A0h85 zweK+dh=47o>y|6`-`-i#z@JRAiTb7~Veq|Hd>@(Vt>aHP$h9iBp;(x!kd0ZJBmxTn~9A`0-B3nMuq9$Vnwk?Ill_)VNU*+2!U@M-z!S7URzb8FxVENB%;r|{x z3!t_i`kZY?SDvoKZXtN%@MM^yUs8tDr~dw%3JOr|^Of4?eI9F{tJFRx7PtHtnK7tl zHbEGG2cU-9=kvtRiP)8B0VRI!=1z&o3jMhJ3zKm9WwY+c0t!@H zt`^#Dk>20Qz-_5aaeArTQ#7VEO{)wYwJeqL#_*2GVo#;E$rCi%&V~eb6}0!D?cE27Z|B+mqM>Gtv+HS`>}A0WN8AGGSQOu-sp;Pj})I@-qo=qPeoq2A7pfh&jk!xq#f9T##0a*RJLLOnpb zu@05UV9#T$HB2mhrt_K+K%3Vgwz+60%&X7i8_*gVmUKiTgch_h`oQiODKglLa)bU# zV*g;j2=ZHOx*(A5;ns~ttsAxVZRzcGbWkhWr0*z=`?AF^w`#Jn=Ah%*l-9PRUt0vq z?U%;hhh?JFE1AWfQsEvwy7lPNqdX{VtZiZ1#BXE+Y3T(-oB}kb%_=qro{CeUUY6dY zygf7sf*jH=_nHHGcU zmm{I;t?pSNTep8IWA8qvQzPBAZJRp#`}%r&LAhq3r@OnWt6WB!W9@`>%AVNr2A54{ zKQmMg8fyicSdh@CWCOR1v<1s=Wp4~l{#RNz;UT3{b72tPWU+;aBu6EUd6Q(<=@uE$ zAiNIOBU)P{yj4y7bxAwU)>hQ`$SJ&emS=k_|9K2K51RjyKaaCC`IDhV0l`5DVKcE< znunAkvqkND`dfM4OUKpAUSgp3eg0S-o}m3$&v9;m#fehyB53e&iX- zEiG_6Ry==*3F$jfwWr-?^7*f|9|NR;g5ng-Lftv=2E%53yjTcZ)W*^qd~clRl0pSn z(bCC*n>)L#FJp`h=7oUL)ZfzCi~Wtiq4psL`8WJ^)4r0r%i`VI^>jhG-Q5Grf5S$m zj1@}rAVZ7i13_Tf!vx|4m{mSah9;)s?MrN`cK9EZC8Zd{=hAb#I;CW?uQZvlEZX=X ziz&yEX*7QgNNZMGaSDm%$Tb+>{k=K1`YjSs<=T%54<}uk29Qm5eunD8UT7Ev)2r0> zs7+O3u+nZ>N{+pi@h#FmRnqtp(}*2hm}V*syC%ATL}`c8s(nNMfGh#l*MZun;SpHM z?0C?Y3Iv4ch32T5lQ07PS!nRK4bZ!+mFO!C=U+F&CCJb6Yw7G}4!#d2I2WKf6Lwd= ziq2)S_p8x5Q@d@ThG<2}`w`|j!o5sDX7999M+WWM1;(7(_b^RpoZ#BjU=ykm&?LGl zhQ1#p1UIwU#0Xw6tgIY{$8?#3yY`J}%(nAH&H^`L>+>VDbPVY47nIV$iAYOphl_MU z>{w6%cCzd!*kYp9g|hawUx5Q7Twi4Wqk&!?L>5ca`auQVn*R+rj35H`l0|NXbQSwC zvsL>+RAE;p6<`KeCN0w)%=%?J#fBSU)~9K<^dd8hbjsfCR#NRmMTTyA<}Dku+qUdT zldR-iT0>&9(=$tWXK#O>xN#4&gdTwO>6CR0MM7=YwyQRoWtbZb5#Ft7$t^#!>1;)F z`5L?%UF>UWyt7@}OZf)v$RORzFH|l+&y#8_R<^wmun2e_TJWUjvGd8C9AjkZf!|(! z0d<9kjHn8Ccd}7MedRw+YLvG;M9l2Z7{jbCOViw|MLVd>YNe3yz5LV4$~IF?oo+7w zz!3dXJ9r&xh1yZurK`J&ZdyB*`HgW8C1qJKStL1wK{jpzK_-}GXaHaa2gz5FhBCY{ zWsv@?40_YU+Ml8we>nw?(K2eT>Q?BE)Cy-_itn;Gdk58cAk`>!lb&!mrg}~Jv_k}M z_LH*i`9Fs|t<0wHdJFK|!qO6yd z%e`oV134#x+$6hufY6wQHBVQ5Q2xq$PkmzGd)@C``a-xhgtny+o(>^&wD2JQ!10mo zp-rEWFNN*@`oEt2lh1zO-=4quk52#1|8%z4ja zKl|YqKmNf_ZF}VWCn_CZ`mN*N`1BVxlsiB7SO5C|8UNOQ`rI2Izj*r#?f=LB_1MgF zTQ9F}`2K(Y!ynCkq3y5#>c9Ax-~6}l`@kPOeDmr@KmBh${I3S@+WWSzeddYZI{WO? zfBb*{!^ORG|K-2>gL|I6?=K(xZ#L!5(8-H#;$PVLjfbM@bJv3^YctEs(n{5N|6HUHWIqYfP?g$xA$ST@G;mb*kch zwcH;(bywbh@^~z|wl()O7w&Y|N4HJV$7nZ{#_wT>4Eg_obARo|lz3ck=IC z@0cggasRr6*C`jjde=eqLEnXH=IRG^8C-Yd9LJ73-J=o4bLYgJ;M6@j8(jmvUcXA9 z9FFhg)c9)WFnJ2r-^JH_>ZYP&T%PLbHfNE7Tw) z|8>59=IvA6~cVa%P>@k7)N%gD39VNUufOk-KiX zlB2co>S%fW%4&9jyjd@st@6fIR^PK3gwj7?jfjCKCu6xC>k3c~Eso_{>)AzczV=_; zxJ47XrRL?`g<5wb{A&X4Se@qU`bS?sUhy=|r1Qr5Im=u3FXidi)BS5uTSHk)U(Bw< zfBtw+{iPiVD36N(etkc4^@dYO*AGzQ7>d^+>OD?{M?&uii$#+qQW_jVS_|(B z#$lzMNU71xR>KAfX$2m&yqCfoq_(X8ZNOV|wM`mSQd9iOgFbaUPv!l7CnepLcynW} z;}E)k7^L?BT9FQ+#s?M2FQw13VDtIhbezNm?qT^IFu#BKMhBi`;PnZ;iRRVG{?rjy z8*d(EkkZsdD!SJ#jba*HI|90ok}yfqT==MNUH|*}#nHAmK`rIa{N&j${D1$$SKhPq zjbUa}eUVTp{^ViX9a4L5 zR)hF~NL`Fx>-P2h^83;!8`rviu`PYPV1!m1ua~-j5pG}K55Ko{Gp{X=gqGh3($&L*d%xC2-?mNA1;&(8YsbJQb6?NzApqJY+vhiUEdM|@(G7YSY?=@r^&Ob_xmF=N zJCIXL;0~=W%(99#-#W!5-3M zNLDwy=|c=3@eb_Sf0Pu#p{TRQp#+pf$PRUKAC94}*F zRp7(w^A8h9qpFRosTY)ZPSLOF+K78g62%jc$LUz0wof@;jIqm>|7m(vZfA@fF!HSJ zBmS_meJ8bYSOM(0E2mZ0CZ&B{p>MKYkh(H?@`Zyh0zDURl)N0lt^K^<82|F~D zp~CC@u}Yjsjc$vn@(`iE6~=+rhaOKV-)Hqu*GCDg9^9`2CoQwWmxt8tza+3E?#*G(3KNBYJU-HAa-abqIqW>Nw!+65qp z!4S9hos@-3Iuu^n#bfD3J$_&%WUg1cOE2m1;|w-Q^z!@kIFV|=xA+EOq~JoV^wW+q zVQEK$pL&kUhSp=(k%sy1+@7DCzQd2`T4gIy{t&?aKdCx)gnk zh%Ws|d49^H_C+2X8Fvg^{<)$hb=~dKS?HJ&{obs0i5G3RxyR}f*b4C8;9|J8nXAmCcEdd28fE7NUNwP1$6?VW(Dt7?FtNR zvO8otNg>u!Nq4#yAr(&E76&$MN+3Hk1tz!m*wA7N2WjbCj7w?7*vS@M?z3uc=Hf@A zox3tB{0wsZh|hc+;TRX!K!m&TVqh%cMT=XAu3`l|9OYD7>gtM7PF;w0<3(Vp-Q9}z z^u%aSPcKmn?)(9w+89x;zP^}?Q+T4iIKf#Ry}c?_S^6S>v5-f&3>6RS0dva7l@ry; z@a!}dyC{B6fCpo;>KCvtD=0`-03R0av&1}_KH7YSsGa7)V<=fx7L8nyE=4qMMY@|}x)cM^3XU0E>%t@5=16P6PN)aM zIbfuW3kKy`N6L2qR}U`L)m6W*uKImh^@3;B?~Bz77^~kGt2dBWzt5_V6&iK_SxML7 zM9W;w~Vt@sRmtr-6c=Gp%{1hN3_jEn% zdAd}yRm!qz^ANdiP<;mWY(AH(kNEUjMR-DU2tG(=O+BHq$|&9rigmLY?0>7W^p}G; z2Z7*k=>pZ#pAwMgw8q=Nt$tM78b?(gjssB9+Cj*wopbJ$pF)+DRTKlDt1sJStJRk~ zEy7K^Z6#3jvNEoIQqQ$r7T#yi`|LSs&p~@WY0q9g*A7^Xx(J4M5?8cU<$eA-?5|0G zog1{~@Hh76wpjE;ik?t(=MzivD)}{r%lLFr*pl+;u+uFy|OZk4@ zZ?QptZLrts8~ydS4s7$61J^kJ1@o&vwPDEXfr+4=4QP`ahMlRR>_q2V9J_{88uUJ| z-r&f-{0+s?F6oOsS=VJ9jrR9h?+$b@eK1YEV3vBpB=zd)u~$cjy*OeP5MHPkH!t;S z=e85CHcqH%4L6&Wee~93m735Uixz5C9?riN>E;@rTIf~;?=&KEQsV{J&C&@r)eQX+qc- zvz4jmeQYY8Uo3OG9 zsS{gmv)9@nT#2P^?op|TMNFd9+JTW>88nKOpX#~#KGh&%RkfgA^+Aw&{jIIgm5W}h z+>)|d6>%{B4=&3Xv)njMg32$*#7n;m49h~D%3@N72E0OR-Ti3P28f=Xlg+cdg_1vas?JE-btrFjMl^d5C zAst7rPN;;J#?Gi0B>8xAYlJ3G*qql+nA<{)t6pVz{mp^fan{O^p?8a+_YSJ=uRPqT z0o+!3m>A!eu;HBJ7EBEAu>$F+@m0IC9mZ98$Xdo*23H#dIJZpghH|i z`VPGUnJ;$@OM}?ZzoEZO0!~kBEZcUJCLH_(Va;?4EhsK)TdWN3ObBMx z9-p7KwNzs_@M#*Z)VRB4FD6uN)i&e(YxxMOsC>k_0O^fOw^zo-6&$Y!X>^YlUf6Pn zBEo&5vCeJwC5)DK-YqRONdHi7$E-BhCr(;v@94^wHmU+bO()xMwYJG$`h{j&c=-iw zR92p9kzCfLzNfT*V0xwa+xw(V%~x>pmcy@cUwAOl4x$|$@ZXM(4x*hzaZnm=>FiX{ zI5Yg26uJKP=x#L}nrJ)Gb}qiQ@F1#-eQj+-+xTx7_Dv8TPD(G)UPLe+(mZu-hXLb% z3IwM>#)$3-PI&SMC-(qPCDranMf6<Yn~?^$Q;mdlOVtYM!nRoWb8P&* zCfs-+fEDiW8ATAVsn%>*fa@Y{mUDTN7no+P;T8#L%L}nXifirDBDbel#&mCG%fKdvQkeoE{PFUUt@!k;oX$pm+GoVYf5T=iyNoGDgdL;;VLC6UZMM?Ovp!^$K_h|XZ+N_oxL5yis>dFt2rsp@a(X~Y zB=n&hoVsAj{vA_*?jD*sLECxX_G^Q0hMz12JqF7W1VT09LsWvk`E~EiH-r|vA8XI2 z6z+z4o^paLf0fpu6Kf#8EUorD{jd=B2CG5qyiiwdpN~i{+%li<&$Ke#B76oYgsViR z^L~$^NYX)Rl<3VKNLpr>O&mA-#JDMVtG`SI#N!y9(R5JVZ!^VHAi`FU!m*wW!szm* zY*x9KC(5(M&y%}BnmAoL#K{@dF;S|fQu_{~!1USLcc4;*`mG&x7JpZIL%H5U)0?PR zAe2$FW}(g^>4>-|DY8v#X=R&AMjnL8(wUUR7UIjk2B01h>W8C=G*&)sPvdTYjIiNh zii4Gl_F)Z_IH}rjFQcE&TIW_iYmuit^0Y;sqK_~O6I;A!TrrP6?M$Ked(sEw#r!!i zP~lG6%G3RA;H=duT0MrELHf&Fof75Pr4U=`V}z+*^3(dZ^vs5BTK8Ww1EOw-IZI7& zzLlg~WrEupM=`s?mnXax7Zu;M(S8$+yw4i_CPhxNXU=2K5KEcX*I7mkez`C9VJ(|Ef=qvI|F8 z3#=4;p8>ptDa5<*5?y{S;!)cmWo`4Gzhum3^_XsP0X;T|ncd_&L6I_1wav?h_H#q| zDzY;Xjsx(nPJqP6F~X}I*pQRXDnmBXF{-dwqzdb#0TL~#l+%)dot8xEsv}aYw8j$H z^xksqM_O-Xb(&p*gQol0x*CZ67k}jxTY8pFLmty6v%CTQn8F10N8e4kBAe!ei&!;%l;5E1ckxz&DMmj`z`LQ^Q^4S3TD_Q^equRic3(#vzX(^iMmgmz|T7U zmIYhtR&Mdpt$2yg;)t>o7hS3&{kF4PeLz&~H*0%R&sbc2b0U9nZMzc)GIo z&<(?FUOHmVG4ZrykIpstC$057O{5E7ItQuR+RlgX$M#wkSs!#0r_wfR@{|n)M}~?`dC29fZ1VH>+DdXap==1NwGD z$%eR3+c4H7yE)eL$Wuls)+JX*Vz5OW<9G^PM2eRMI|x?FkcD2-u_cjLp2BGDfjBe} zp_G28oQx9M*8IveExHO0RH~rJZ)KXj31P#%h15IKP|2%YESN4S(42KqfhNEri}sY> z&*>Ej%t_UTw6Y7e!*0;>aziEe-O2*Gp_1*a#oSP-tCLD|LnT{Qi(#lVmB)6T3dRL# z(j;vkIkYSW(dUo?OPC{9_>yAOR-a=V$k^Zs`UZy$fKLQy;K*V9p{Brv)}o0{7mwFi z&i#XQ19r9ikQGLGUY<3;xzxSowlo@8?!OtL^g7)hAw>vy~SV z;nnFINwFD_z$v!DYh3t&3%lH|{V{9_2C<9XdW*g@Qdt|8-G(n125p=N^}6x}6Ub)t z;poD~y>_eNQx%IOt)pw7q$ySLNwDUD7PX13=KH*06yI;ZgZ}+gPi%pDeo{|tfeP=l z=Y95^wCA8bpR{MMo@)p6T={nE9ig9)%;Sn5Al`yc7d{+B$B3zS=qvY|l^XNoNG#XV3fWIcd*9dp>E;UOnjy&y{cMiQP`m&8iveou1qD ztbK*fl*@NWEx`)cb_Xk2Iajynxps&0EUmScLyP4e)swF|>A9ti=gE#cn1^5VlcU_N zT8ylxEyH1|?jwYq#FA)01`fJQ-dq##>M9BAWmcc5ky_hQFTR=3&E|yH}cX?tm z;kmp?aCS0!J}C&B6Fr}{=Tr9lrk+>I)&=kIiw6I(o=l?hzr<78pu#^-z2LH~a=cGz zs4EITq*{D9t4~?@>6Cl*R?A^6pbL?k4><7T!&{U=z*7qXPH^=X?rkNFS1XPci>HlL zEGe6?plO6fkg8RxoG)}bk_Q!A{j#1|TT7vglTu*cgQwDomNz^&H$Ho0=E9+i6V=&; zshJBW&dtp{F<&BIi{;x`3jIe;UYJ@KK0b4H;fe9NY6!ih(CM(9A#5*&EqBk%UYeVF z^xVSm9TRsB@7T6|@9^E{#^8=-W~QrKh98(YGkk1rW^tb4?x zx$(*B`SH2OhG)(WH#YT#QW)5J#CdcO{hqrH~QT1Tw*8N+zZRMvgYmb&f zZT!L_o!okMZv1@piJ7^_wk}lX7v{GNA6q;#JvH%x>ZNyY+qPrZHvPA2pS|{bY}>Xy z+jbZrrtjXdd*`n0JGU#R!4=~Fo!hI`@tu3Oo!P#B->x%f$M;Nbua58Cv#q*)VtmiG zJ-a8W)m_`iw~z1GyMJPQ$Ie~*ckVn}-M@G5__qCfcI?No-=c33F*LiSzN~{hOumCS^G`Gq*5)22S?D>fAhR^4*W`-pUEaiT+Jl zRR^c$XQ#(69f1LDvRYG_;p2;E=Bo>^RI4})mBJejR%hp`6XOfj$t}Y$#o@bWE-Z{s zUEs%JZYzc1#?*r|)%mSQW)`-_Y|eF?=7LYoEj&22aBg^JPE2!dVO}wQY@!t2+O&k~ z%}RxES1H`lG~b~Mlc`>UvDRz$HkJtC@0G%BP3s&RUzo6-TA<4C-^Q^})2!;Ij~KX-Q)Ask%fi1sWXcU)ps0t|Kim2eTMtA-ua3_Fb*q z@tMWBiK~|0u_J_cmcs64rSF-#xUe{P)uOxhh48*oc-J+GUc2q>{2KIFDcsjs!RUpB z>fD9#>8&B%pxI^$mA6XoqF2Jf6XR8y??wxnuE;76QzVZ33D!bJ(o|w5K z%W(TJM7>ZQpX3*+4wb_D8VB(JQhnxpK4~6TcO5CGw`cuV=fUMYr7&{+wb1Fut8<{F zt{P@@q!bRkQZwPfSfu z51*+H&sERQJYJmy4X8R3Gv}u+JPK^O3aNq;IMN|_O$(Y>-^ldz%oAga(+g9x)78?6 zmafqY=c;qa*~#n7R-(4|HLZ>6ucx+k*~GBc_pL6Q8vXk9Wotgtb+w5}zCxoyNZTuC zyH12C+rjIrP0I6i^sRZe^>fM?*4I{-?dn6Q%XW2y)MZm`&GA;3Ep(Ahd?18JO5wqK zrlzZhE>59N=PY0t)qS!c!ys8G+C-VMADufmg?w9>nY*;UWX2Hw<-tFnz4wtn|Lskm zdfS&ff9sw7|L>(we*BC7N%enx=2P$btJ^>Hr~mk$mmXRA#;vR0|EumdfA)Ky_|3Vk z&m3C&Z_n@lH-GQRoA3B1AN%${|409SduPzvL=eUCx4Iq#!5%y`T4Y6Ss*#x3*j6n{ zNi4lsq}3v_*fhyjTGpmys~|!Vdhw#r_N>99cxWrAAc#5m9TWs9iZ{UzAgKTUOg6il z=HRuO37g%SeKR}r-t1;K$?v^KeYZC{zh2$>^TvVYwb;7%z$x5KtloS2{>kIq_v3@z zBcIN_?%Ajw?*90&nutxW#81WtzMX#aYG(G`o_s0~o6E|VUDvth(@qzrUhT6fwVDav z7`gEmOV8JO7FUN}#y;#=ezsKQ%*>v(y-LwmcWCu@=GCR7@o8jF`}Y@ixiD*w>GR#5 za~8b%V@$eNR}MX}%$Ex6$TmpkCMS_j2f1zex#+qhBquVNEmv}`dkLQ^a?2~0D~^*a zxvr}6`zYGzun-h0j{FHZBnbq}Y^Q%k1BTEwNTRWf}PllmKudI45BECyO7 z*+^QGq#KDZLhnpRR7VKm5hVAppRD5y_9E=DO6z8x_<@3-$;>fu-`17}l}t+fR|Y6B zbRhdt)2N4oB)G1fyy%wC%ihL5qSkZ3>wIS^ln4-Bg0PHOwt$dk90|U0L2_|!8I8WQ z2Cyj?Zf97Hls)mo<60p0Mxpg9I9)a1O`M-cA=ID7UfdXAEcnTwajXf{4+84)7`>1? zgC(UF+Ib)3o1wp8bfge9o}9$EsQqxCk~lV5Q;|hnGYla`PORTmnw*E8Xo;I3QxV>? zMVSRqxG2Za|5NBuTKch-g)~P+>fAw|K_xZ$NY@Qx*eYYdoSbzWy+7}mqrL>?f2T)n zKka^`ggRt?18YS4PkU#Sy`%EYR&TcXfT}YDjnJ8lA7|FW*%zHH&Go3icG?CS*fjCm O7_J4pu(i{Fr-47?OD|FY literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.3.9.0/lib/uap/nunit.framework.xml b/.Net/packages/NUnit.3.9.0/lib/uap/nunit.framework.xml new file mode 100644 index 0000000..4b2e5bb --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/lib/uap/nunit.framework.xml @@ -0,0 +1,18594 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the 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 synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the 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. + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + 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 . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that 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 + + + + 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 + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + 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. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + 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 names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + 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. + + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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 + + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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. + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + 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 + + + + 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 + + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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. + + + + + 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 + + + + + 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. + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 fixtures 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. + + + + + 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. + + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + 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. + + + + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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 the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + 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 + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + 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 properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single 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 type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build 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 explicitly. 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 explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which is the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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 + + + + + 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. + + + + 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. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + 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 + + + + 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. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + 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. + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + 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 + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be 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 arguments 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. + + + + 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. + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + 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. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 deriving from MemberInfo + + + + 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 deriving from MemberInfo + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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. + + + + Specifies flags that control binding and the way in which the search for members + and types is conducted by reflection. + + + + + Specifies no binding flag. + + + + + Specifies that only members declared at the level of the supplied type's hierarchy + should be considered. Inherited members are not considered. + + + + + Specifies that instance members are to be included in the search. + + + + + Specifies that static members are to be included in the search. + + + + + Specifies that public members are to be included in the search. + + + + + Specifies that non-public members are to be included in the search. + + + + + Specifies that public and protected static members up the hierarchy should be + returned. Private static members in inherited classes are not returned. Static + members include fields, methods, events, and properties. Nested types are not + returned. + + + + + A MarshalByRefObject that lives forever + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class allows direct calls on Type on + those platforms that would normally require use of + GetTypeInfo(). + + + + + Returns an array of generic arguments for the give type + + + + + + + Gets the constructor with the given parameter types + + + + + + + + Gets the constructors for a type + + + + + + + + + + + + + + + + + + + + + + + Gets declared or inherited interfaces on this type + + + + + + + Gets the member on a given type by name. BindingFlags ARE IGNORED. + + + + + + + + + Gets all members on a given type. BindingFlags ARE IGNORED. + + + + + + + + Gets field of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets public methods on the given type + + + + + + + Gets methods on a type + + + + + + + + Extensions to the various MemberInfo derived classes + + + + + Returns the get method for the given property + + + + + + + + Returns an array of custom attributes of the specified type applied to this member + + + + + Returns an array of custom attributes of the specified type applied to this parameter + + + + + Returns an array of custom attributes of the specified type applied to this assembly + + + + + Extensions for Assembly that are not available in .NET Standard + + + + + DNX does not have a version of GetCustomAttributes on Assembly that takes an inherit + parameter since it doesn't make sense on Assemblies. This version just ignores the + inherit parameter. + + The assembly + The type of attribute you are looking for + Ignored + + + + + Gets the types in a given assembly + + + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + A shim of the .NET interface for platforms that do not support it. + Used to indicate that a control can be the target of a callback event on the server. + + + + + Processes a callback event that targets a control. + + + + + + Returns the results of a callback event that targets a control. + + + + + diff --git a/.Net/packages/NUnit.3.9.0/lib/xamarin.ios/nunit.framework.dll b/.Net/packages/NUnit.3.9.0/lib/xamarin.ios/nunit.framework.dll new file mode 100644 index 0000000000000000000000000000000000000000..95f123be2eb51e015d1982be55ab71d18851e586 GIT binary patch literal 314368 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

QH`N8RtV;$*ZKV1LtcBF&BM0*JZK;+}OIl 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 O7_J4pu(i{Fr-47?OD|FY literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.3.9.0/lib/xamarin.ios/nunit.framework.xml b/.Net/packages/NUnit.3.9.0/lib/xamarin.ios/nunit.framework.xml new file mode 100644 index 0000000..4b2e5bb --- /dev/null +++ b/.Net/packages/NUnit.3.9.0/lib/xamarin.ios/nunit.framework.xml @@ -0,0 +1,18594 @@ + + + + nunit.framework + + + +

+ The different targets a test action attribute can be applied to + + + + + Default target, which is determined by where the action attribute is attached + + + + + Target a individual test case + + + + + Target a suite of test cases + + + + + DefaultTestAssemblyBuilder loads a single assembly and builds a TestSuite + containing test fixtures present in the assembly. + + + + + The default suite builder used by the test assembly builder. + + + + + Initializes a new instance of the class. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + + A TestSuite containing the tests found in the assembly + + + + + Build a suite of tests given the 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 synchronously reporting back the test results through the callback + or through the return value + + The callback that receives the test results + A string containing the XML representation of the filter to use + The XML result of the test run + + + + Runs the tests in an assembly asynchronously reporting back the test results through the callback + + The callback that receives the test results + A string containing the XML representation of the filter to use + + + + Stops the test run + + True to force the stop, false for a cooperative stop + + + + Counts the number of test cases in the loaded TestSuite + + A string containing the XML representation of the filter to use + The number of tests + + + + Inserts environment element + + Target node + The new node + + + + Inserts settings element + + Target node + Settings dictionary + The new node + + + + FrameworkControllerAction is the base class for all actions + performed against a FrameworkController. + + + + + LoadTestsAction loads a test into the FrameworkController + + + + + LoadTestsAction loads the tests in an assembly. + + The controller. + The callback handler. + + + + ExploreTestsAction returns info about the tests in an assembly + + + + + Initializes a new instance of the class. + + The controller for which this action is being performed. + Filter used to control which tests are included (NYI) + The callback handler. + + + + CountTestsAction counts the number of test cases in the loaded TestSuite + held by the FrameworkController. + + + + + Construct a CountsTestAction and perform the count of test cases. + + A FrameworkController holding the TestSuite whose cases are to be counted + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunTestsAction runs the loaded TestSuite held by the FrameworkController. + + + + + Construct a RunTestsAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + RunAsyncAction initiates an asynchronous test run, returning immediately + + + + + Construct a RunAsyncAction and run all tests in the loaded TestSuite. + + A FrameworkController holding the TestSuite to run + A string containing the XML representation of the filter to use + A callback handler used to report results + + + + StopRunAction stops an ongoing run. + + + + + Construct a StopRunAction and stop any ongoing run. If no + run is in process, no error is raised. + + The FrameworkController for which a run is to be stopped. + True the stop should be forced, false for a cooperative stop. + >A callback handler used to report results + A forced stop will cause threads and processes to be killed as needed. + + + + The ITestAssemblyBuilder interface is implemented by a class + that is able to build a suite of tests given an assembly or + an assembly filename. + + + + + Build a suite of tests from a provided assembly + + The assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + Build a suite of tests given the filename of an assembly + + The filename of the assembly from which tests are to be built + A dictionary of options to use in building the suite + A TestSuite containing the tests found in the assembly + + + + The ITestAssemblyRunner interface is implemented by classes + that are able to execute a suite of tests loaded + from an assembly. + + + + + Gets the tree of loaded tests, or null if + no tests have been loaded. + + + + + Gets the tree of test results, if the test + run is completed, otherwise null. + + + + + Indicates whether a test has been loaded + + + + + Indicates whether a test is currently running + + + + + Indicates whether a test run is complete + + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + File name of the assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Loads the tests found in an Assembly, returning an + indication of whether or not the load succeeded. + + The assembly to load + Dictionary of options to use in loading the test + An ITest representing the loaded tests + + + + Count Test Cases using a filter + + The filter to apply + The number of test cases found + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive ITestListener notifications. + A test filter used to select tests to be run + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any test-running threads + + + + Implementation of ITestAssemblyRunner + + + + + Initializes a new instance of the class. + + The builder. + + + + 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 + + + + Explore the test cases using a filter + + The filter to apply + Test Assembly with test cases that matches the filter + + + + Run selected tests and return a test result. The test is run synchronously, + and the listener interface is notified as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + + + + Run selected tests asynchronously, notifying the listener interface as it progresses. + + Interface to receive EventListener notifications. + A test filter used to select tests to be run + + RunAsync is a template method, calling various abstract and + virtual methods to be overridden by derived classes. + + + + + Wait for the ongoing run to complete. + + Time to wait in milliseconds + True if the run completed, otherwise false + + + + Signal any test run that is in process to stop. Return without error if no test is running. + + If true, kill any tests that are currently running + + + + Initiate the test run. + + + + + Create the initial TestExecutionContext used to run tests + + The ITestListener specified in the RunAsync call + + + + Handle the 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. + + + 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 + + + + Asserts that an int is zero. + + The number to be examined + + + + Asserts that an int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is zero. + + The number to be examined + + + + Asserts that an unsigned int is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is zero. + + The number to be examined + + + + Asserts that a Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is zero. + + The number to be examined + + + + Asserts that an unsigned Long is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is not zero. + + The number to be examined + + + + Asserts that an int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is not zero. + + The number to be examined + + + + Asserts that an unsigned int is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is not zero. + + The number to be examined + + + + Asserts that a Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + + + + Asserts that an unsigned Long is not zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is zero. + + The number to be examined + + + + Asserts that a decimal is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is zero. + + The number to be examined + + + + Asserts that a double is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is zero. + + The number to be examined + + + + Asserts that a float is zero. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is positive. + + The number to be examined + + + + Asserts that an int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is positive. + + The number to be examined + + + + Asserts that an unsigned int is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is positive. + + The number to be examined + + + + Asserts that a Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is positive. + + The number to be examined + + + + Asserts that an unsigned Long is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is positive. + + The number to be examined + + + + Asserts that a decimal is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is positive. + + The number to be examined + + + + Asserts that a double is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is positive. + + The number to be examined + + + + Asserts that a float is positive. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an int is negative. + + The number to be examined + + + + Asserts that an int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned int is negative. + + The number to be examined + + + + Asserts that an unsigned int is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a Long is negative. + + The number to be examined + + + + Asserts that a Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an unsigned Long is negative. + + The number to be examined + + + + Asserts that an unsigned Long is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a decimal is negative. + + The number to be examined + + + + Asserts that a decimal is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a double is negative. + + The number to be examined + + + + Asserts that a double is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that a float is negative. + + The number to be examined + + + + Asserts that a float is negative. + + The number to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + 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. + + + + + DO NOT USE! Use Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + The message to initialize the with. + + + + Throws a with the message and arguments + that are passed in. This allows a test to be cut short, with a result + of success returned to NUnit. + + + + + 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. + + + + + Issues a warning using the message and arguments provided. + + The message to display. + Arguments to be used in formatting the message + + + + Issues a warning using the message provided. + + The message to display. + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as ignored. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as ignored. + + + + + Throws an with the message and arguments + that are passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + Arguments to be used in formatting the message + + + + Throws an with the message that is + passed in. This causes the test to be reported as inconclusive. + + The message to initialize the with. + + + + Throws an . + This causes the test to be reported as Inconclusive. + + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + The message to display in case of failure + Array of objects to be used in formatting the message + + + + Asserts that an object is contained in a collection. + + The expected object + The collection to be examined + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + Wraps code containing a series of assertions, which should all + be executed, even if they fail. Failed results are saved and + reported at the end of the code block. + + A TestDelegate to be executed in Multiple Assertion mode. + + + + 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 . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that 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 + + + + 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 + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + 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. + + The actual value to test + A Constraint to be applied + + + + 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. + + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that an object may be assigned a value of a given Type. + + 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 names in making asserts. + + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to + . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . Works Identically to . + + The evaluated condition + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + A Constraint expression to be applied + An ActualValueDelegate returning the value to be tested + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an assertion exception on failure. + + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A 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 + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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. + + + + + Provides static methods to express the assumptions + that must be met for a test to give a meaningful + result. If an assumption is not met, the test + should produce an inconclusive result. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the + method throws an . + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and throwing an InconclusiveException on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + 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 IParameterDataProvider. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + Construct a CombiningStrategyAttribute incorporating an object + that implements ICombiningStrategy and an IParameterDataProvider. + This constructor is provided for CLS compliance. + + Combining strategy to be used in combining data + An IParameterDataProvider to supply data + + + + 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 + + + + 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. + + + + + DefaultFloatingPointToleranceAttribute sets the tolerance used + by default when checking the equality of floating point values. + + + + + Construct specifying an amount + + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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 + + + + + NonParallelizableAttribute is used to mark tests that should NOT be run in parallel. + + + + + Construct a NonParallelizableAttribute. + + + + + The NonTestAssemblyAttribute may be used by third-party frameworks + or other software that references the nunit framework but does not + contain tests. Applying the attribute indicates that the assembly + is not a test assembly and may prevent errors if certain runners + attempt to load the assembly. Note that recognition of the attribute + depends on each individual runner. + + + + + SingleThreadedAttribute applies to a test fixture and indicates + that all the child tests must be run on the same thread as the + OneTimeSetUp and OneTimeTearDown. It sets a flag in the + TestExecutionContext and forces all tests to be run sequentially + on the current thread. Any ParallelScope setting is ignored. + + + + + Apply changes to the TestExecutionContext + + The TestExecutionContext + + + + 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. + + + + Specifies the maximum time (in milliseconds) for a test case to succeed. + + + + + Construct a MaxTimeAttribute, given a time in milliseconds. + + The maximum elapsed time in milliseconds + + + + The abstract base class for all custom attributes defined by NUnit. + + + + + Default constructor + + + + + 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 + + + + 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 + + + + + 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. + + + + Defines the degree to which this test and its descendants may be run in parallel + + + + + Overridden to check for invalid combinations of settings + + + + + + Modify the context to be used for child tests + + The current TestExecutionContext + + + + The ParallelScope enumeration permits specifying the degree to + which a test and its descendants may be run in parallel. + + + + + No ParallelScope was specified on the test + + + + + The test may be run in parallel with others at the same level. + Valid on classes and methods but not assemblies. + + + + + Test may not be run in parallel with any others. Valid on + classes and methods but not assemblies. + + + + + Mask used to extract the flags that apply to the item on which a + ParallelizableAttribute has been placed, as opposed to descendants. + + + + + Descendants of the test may be run in parallel with one another. + Valid on assemblies and classes but not on methods. + + + + + Descendants of the test down to the level of TestFixtures may be + run in parallel with one another. Valid on assemblies and classes + but not on methods. + + + + + Mask used to extract all the flags that impact descendants of a + test and place them in the TestExecutionContext. + + + + + The test and its descendants may be run in parallel with others at + the same level. Valid on classes and methods but not assemblies. + + + + + 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. + + + + + If true, no value will be repeated. + + + + + Construct a random set of values appropriate for the Type of the + parameter on which the attribute appears, specifying only the count. + + + + + + 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 + + + + + + + + Get the range of values to be used as arguments + + + + + 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 + + + + is used on a test method to specify that it should + be rerun if it fails, up to a maximum number of times. + + + + + Construct a + + The maximum number of times the test should be run if it fails + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + The test command for the + + + + + Initializes a new instance of the class. + + The inner command. + The maximum number of repetitions + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Marks a test to use a Sequential join of any argument + data provided. Arguments will be combined into test cases, + taking the next value of each argument until all are used. + + + + + Default constructor + + + + + Attribute used to identify a method that is called + immediately before each test is run. + + + + + Attribute used to identify a class that contains + or + methods for all the test fixtures under a given namespace. + + + + + 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. + + + + + 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 + + + + + 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. + + + + 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 name + + The name of a static method, property or field that will provide data. + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + Construct with a Type + + The type that will provide data + + + + A set of parameters passed to the method, works only if the Source Name is a method. + If the source name is a field or property has no effect. + + + + + The name of a the method, property or 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. + + + + 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 fixtures 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. + + + + + 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. + + + + + 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 + + + + + DO NOT USE! Use CollectionAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + + + + Asserts that all items contained in collection are of the type specified by expectedType. + + IEnumerable containing objects to be considered + System.Type that all objects in collection must be instances of + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable containing objects to be considered + + + + Asserts that all items contained in collection are not equal to null. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + + + + Ensures that every object contained in collection exists within the collection + once and only once. + + IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are exactly equal. The collections must have the same count, + and contain the exact same objects in the same order. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are equivalent, containing the same objects but the match may be in any order. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + + + + Asserts that expected and actual are not exactly equal. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not exactly equal. + If comparer is not null then it will be used to compare the objects. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The IComparer to use in comparing objects from each IEnumerable + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + + + + Asserts that expected and actual are not equivalent. + + The first IEnumerable of objects to be considered + The second IEnumerable of objects to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + + + + Asserts that collection contains actual as an item. + + IEnumerable of objects to be considered + Object to be found within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + + + + Asserts that collection does not contain actual as an item. + + IEnumerable of objects to be considered + Object that cannot exist within collection + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset does not contain the subset + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + + + + Asserts that the superset contains the subset. + + The IEnumerable subset to be considered + The IEnumerable superset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset does not contain the superset + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + + + + Asserts that the subset contains the superset. + + The IEnumerable superset to be considered + The IEnumerable subset to be considered + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is empty + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array,list or other collection is empty + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + The message to be displayed on failure + Arguments to be used in formatting the message + + + + Assert that an array, list or other collection is ordered + + An array, list or other collection implementing IEnumerable + A custom comparer to perform the comparisons + + + + AllItemsConstraint applies another constraint to each + item in a collection, succeeding if they all succeed. + + + + + Construct an AllItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + AndConstraint succeeds only if both members succeed. + + + + + Create an AndConstraint from two other constraints + + The first constraint + The second constraint + + + + Gets text describing a constraint + + + + + Apply both member constraints to an actual value, succeeding + succeeding only if both of them succeed. + + The actual value + True if the constraints both succeeded + + + + Write the actual value for a failing constraint test to a + MessageWriter. The default implementation simply writes + the raw value of actual, leaving it to the writer to + perform any formatting. + + The writer on which the actual value is displayed + + + + 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 + + + + 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 display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected item is contained in the collection + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionEquivalentConstraint is used to determine whether two + collections are equivalent. + + + + The result of the from the collections + under comparison. + + + Construct a CollectionEquivalentConstraint + Expected collection. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether two collections are equivalent + + + + + + + Test whether the collection is equivalent to the expected. + + + Actual collection type. + + + Actual collection to compare. + + + A indicating whether or not + the two collections are equivalent. + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + Provides a for the . + + + Result of a of the collections to compare for equivalence. + + + Maximum amount of elements to write to the if there are + extra/missing elements from the collection. + + + Construct a using a . + Source . + Result of the collection comparison. + Actual collection to compare. + Whether or not the succeeded. + + + Write the custom failure message for this object's . + The to write the failure message to. + + + + CollectionItemsEqualConstraint is the abstract base class for all + collection constraints that apply some notion of item equality + as a part of their operation. + + + + + The NUnitEqualityComparer in use for this constraint + + + + + Construct an empty CollectionConstraint + + + + + Construct a CollectionConstraint + + + + + + Get a flag indicating whether the user requested us to ignore case. + + + + + Get a flag indicating whether any external comparers are in use. + + + + + Flag the constraint to ignore case and return self. + + + + + Flag the constraint to use the supplied IComparer object. + + The IComparer object to use. + 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. + + + + Flag the constraint to use the supplied boolean-returning delegate. + + The supplied boolean-returning delegate to use. + + + + Compares two collection members for equality + + + + + Return a new CollectionTally for use in making tests + + The collection to be included in the tally + + + + CollectionOrderedConstraint is used to test whether a collection is ordered. + + + + + Construct a CollectionOrderedConstraint + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + If used performs a default ascending comparison + + + + + If used performs a reverse comparison + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + Modifies the constraint to test ordering by the value of + a specified property and returns self. + + + + + Then signals a break between two ordering steps + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the collection is ordered + + + + + + + Returns the string representation of the constraint. + + + + + + An OrderingStep represents one stage of the sort + + + + + CollectionSubsetConstraint is used to determine whether + one collection is a subset of another + + + + + Construct a CollectionSubsetConstraint + + The collection that the actual value is expected to be a subset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a subset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + CollectionSupersetConstraint is used to determine whether + one collection is a superset of another + + + + + Construct a CollectionSupersetConstraint + + The collection that the actual value is expected to be a superset of + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the actual collection is a superset of + the expected collection provided. + + + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + counts (tallies) the number of occurrences + of each object in one or more enumerations. + + + The result of a . + + + Items that were not in the expected collection. + + + Items that were not accounted for in the expected collection. + + + Constructs an empty . + + + The result of the comparision between the two collections. + + + Construct a CollectionTally object from a comparer and a collection. + The comparer to use for equality. + The expected collection to compare against. + + + Try to remove an object from the tally. + The object to remove. + + + Try to remove a set of objects from the tally. + The objects to remove. + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two types related by . + + + + + Interface for comparing two s. + + + + + Method for comparing two objects with a tolerance. + + The first object to compare. + The second object to compare. + The tolerance to use when comparing the objects. + Flag indicating whether or not this is the top level comparison. + + null if the objects cannot be compared using the method. + Otherwise the result of the comparison is returned. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s. + + + + + Comparator for two s or s. + + + + + Comparator for two Tuples. + + + + + Base class for comparators for tuples (both regular Tuples and ValueTuples). + + + + + Comparator for two ValueTuples. + + + + + ComparisonAdapter class centralizes all comparisons of + values in NUnit, adapting to the use of any provided + , + or . + + + + + Gets the default ComparisonAdapter, which wraps an + NUnitComparer object. + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps an + + + + + Returns a ComparisonAdapter that wraps a + + + + + Compares two objects + + + + + Construct a default ComparisonAdapter + + + + + Construct a ComparisonAdapter for an + + + + + Compares two objects + + + + + + + + ComparerAdapter extends and + allows use of an or + to actually perform the comparison. + + + + + Construct a ComparisonAdapter for an + + + + + Compare a Type T to an object + + + + + Construct a ComparisonAdapter for a + + + + + Compare a Type T to an object + + + + + Abstract base class for constraints that compare values to + determine if one is greater than, equal to or less than + the other. + + + + + The value against which a comparison is to be made + + + + + Tolerance used in making the comparison + + + + + ComparisonAdapter to be used in making the comparison + + + + + Initializes a new instance of the class. + + The value against which to make a comparison. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + A ConstraintResult + + + + Protected function overridden by derived class to actually perform the comparison + + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use an and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Modifies the constraint to use a and returns self + + The comparer used for comparison tests + A constraint modified to use the given comparer + + + + Set the tolerance for use in this comparison + + + + + Switches the .Within() modifier to interpret its tolerance as + a percentage that the actual values is allowed to deviate from + the expected value. + + Self + + + + 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. + + + + + 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 , which will + apply the following constraint to a collection of length one, succeeding + only if exactly one of them succeeds. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + With is currently a NOP - reserved for future use. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns the constraint provided as an argument - used to allow custom + custom constraints to easily participate in the syntax. + + + + + Returns a constraint that tests for null + + + + + Returns a constraint that tests for True + + + + + Returns a constraint that tests for False + + + + + Returns a constraint that tests for a positive value + + + + + Returns a constraint that tests for a negative value + + + + + Returns a constraint that tests if item is equal to zero + + + + + Returns a constraint that tests for NaN + + + + + Returns a constraint that tests for empty + + + + + Returns a constraint that tests whether a collection + contains all unique items. + + + + + Returns a constraint that tests two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + 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 checking for the + presence of a particular object in the collection. + + + + + Returns a new ContainsConstraint. This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + ConstraintStatus represents the status of a ConstraintResult + returned by a Constraint being applied to an actual value. + + + + + The status has not yet been set + + + + + The constraint succeeded + + + + + The constraint failed + + + + + An error occurred in applying the constraint (reserved for future use) + + + + + 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 occurred, 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 value contained within the string/collection. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Flag the constraint to ignore case and return self. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + DictionaryContainsKeyConstraint is used to test whether a dictionary + contains an expected object as a key. + + + + + Construct a DictionaryContainsKeyConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected key is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + DictionaryContainsValueConstraint is used to test whether a dictionary + contains an expected object as a value. + + + + + Construct a DictionaryContainsValueConstraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Gets the expected object + + + + + Test whether the expected value is contained in the dictionary + + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + 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 boolean-returning delegate. + + The boolean-returning delegate to use. + Self. + + + + Flag the constraint to use the supplied Comparison object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied IEqualityComparer object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied predicate function + + The comparison function to use. + Self. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + The EqualConstraintResult class is tailored for formatting + and displaying the result of an EqualConstraint. + + + + + Construct an EqualConstraintResult + + + + + Write a failure message. Overridden to provide custom + failure messages for EqualConstraint. + + The MessageWriter to write to + + + + Display the failure information for two collections that did not match. + + The MessageWriter on which to display + The expected collection. + The actual collection + The depth of this failure in a set of nested collections + + + + Displays a single line showing the types and sizes of the expected + and actual collections or arrays. If both are identical, the value is + only shown once. + + The MessageWriter on which to display + The expected collection or array + The actual collection or array + The indentation level for the message line + + + + Displays a single line showing the point in the expected and actual + arrays at which the comparison failed. If the arrays have different + structures or dimensions, both values are shown. + + The MessageWriter on which to display + The expected array + The actual array + Index of the failure point in the underlying collections + The indentation level for the message line + + + + Display the failure information for two IEnumerables that did not match. + + The MessageWriter on which to display + The expected enumeration. + The actual enumeration + The depth of this failure in a set of nested collections + + + + EqualityAdapter class handles all equality comparisons + that use an , + or a . + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps an . + + + + + Returns an EqualityAdapter that uses a predicate function for items comparison. + + + + + + + + + Returns true if the two objects can be compared by this adapter. + The base adapter cannot handle IEnumerables except for strings. + + + + + Compares two objects, returning true if they are equal + + + + + Returns true if the two objects can be compared by this adapter. + Generic adapter requires objects of the specified type. + + + + + Returns an that wraps an . + + + + + Returns an that wraps an . + + + + + that wraps an . + + + + + Returns an that wraps a . + + + + + ExactCountConstraint applies another constraint to each + item in a collection, succeeding only if a specified + number of items succeed. + + + + + Construct a standalone ExactCountConstraint + + + + + + Construct an ExactCountConstraint on top of an existing constraint + + + + + + + Apply the item constraint to each item in the collection, + succeeding only if the expected number of items pass. + + + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + ExactTypeConstraint is used to test that an object + is of the exact type provided in the constructor + + + + + Construct an ExactTypeConstraint for a given Type + + The expected Type. + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + ExceptionTypeConstraint is a special version of ExactTypeConstraint + used to provided detailed info about the exception thrown in + an error message. + + + + + Constructs an ExceptionTypeConstraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + FalseConstraint tests that the actual value is false + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + FileExistsConstraint is used to determine if a file exists + + + + + Initializes a new instance of the class. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + FileOrDirectoryExistsConstraint is used to determine if a file or directory exists + + + + + If true, the constraint will only check if files exist, not directories + + + + + If true, the constraint will only check if directories exist, not files + + + + + Initializes a new instance of the class that + will check files and directories. + + + + + Initializes a new instance of the class that + will only check files if ignoreDirectories is true. + + if set to 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. + + + + Perform the comparison + + + + + Tests whether a value is greater than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Interface for all constraints + + + + + The display name of this Constraint for use by ToString(). + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Arguments provided to this Constraint, for use in + formatting the description. + + + + + The ConstraintBuilder holding this constraint + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + Test whether the constraint is satisfied by a given reference. + The default implementation simply dereferences the value but + derived classes may override it to provide for delayed processing. + + A reference to the value to be tested + A ConstraintResult + + + + InstanceOfTypeConstraint is used to test that an object + is of the same type provided or derived from it. + + + + + Construct an InstanceOfTypeConstraint for the type provided + + The expected Type + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + Keeps track of an interval time which can be represented in + Minutes, Seconds or Milliseconds + + + + + Constructs a interval given an value in milliseconds + + + + + Gets Interval value represented as a TimeSpan object + + + + + Returns the interval with the current value as a number of minutes. + + + + + Returns the interval with the current value as a number of seconds. + + + + + Returns the interval with the current value as a number of milliseconds. + + + + + Is true for intervals created with a non zero value + + + + + Returns a string that represents the current object. + + + A string that represents the current object. + + + + + IntervalUnit provides the semantics to the value stored in Interval class. + + + + + Unit representing an Interval in minutes + + + + + Unit representing an Interval in seconds + + + + + Unit representing an Interval in milliseconds + + + + + The IResolveConstraint interface is implemented by all + complete and resolvable constraints and expressions. + + + + + Return the top-level constraint for this expression + + + + + + An extension of ResolvableConstraintExpression that adds a no-op Items property for readability. + + + + + Create a new instance of ItemsConstraintExpression + + + + + Create a new instance of ResolvableConstraintExpression, + passing in a pre-populated ConstraintBuilder. + + + + + + No-op property for readability. + + + + + Tests whether a value is less than the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + Tests whether a value is less than or equal to the value supplied to its constructor + + + + + Initializes a new instance of the class. + + The expected value. + + + + Perform the comparison + + + + + MessageWriter is the abstract base for classes that write + constraint descriptions and messages in some form. The + class has separate methods for writing various components + of a message, allowing implementations to tailor the + presentation as needed. + + + + + Construct a MessageWriter given a culture + + + + + Abstract method to get the max line length + + + + + Method to write single line message with optional args, usually + written to precede the general failure message. + + The message to be written + Any arguments used in formatting the message + + + + Method to write single line message with optional args, usually + written to precede the general failure message, at a given + indentation level. + + The indentation level of the message + The message to be written + Any arguments used in formatting the message + + + + Display Expected and Actual lines for a constraint. This + is called by MessageWriter's default implementation of + WriteMessageTo and provides the generic two-line display. + + The failing constraint result + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the Expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in locating the point where the strings differ + If true, the strings should be clipped to fit the line + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Custom value formatter function + + The value + + + + + Custom value formatter factory function + + The next formatter function + ValueFormatter + If the given formatter is unable to handle a certain format, it must call the next formatter in the chain + + + + Static methods used in creating messages + + + + + Static string used when strings are clipped + + + + + Formatting strings used for expected and actual values + + + + + Current head of chain of value formatters. Public for testing. + + + + + Add a formatter to the chain of responsibility. + + + + + + Formats text to represent a generalized value. + + The value + The formatted text + + + + Formats text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Returns the representation of a type as used in NUnitLite. + This is the same as Type.ToString() except for arrays, + which are displayed with their declared sizes. + + + + + + + Converts any control characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Converts any null characters in a string + to their escaped representation. + + The string to be converted + The converted string + + + + Return the a string representation for a set of indices into an array + + Array of indices for which a string is needed + + + + Get an array of indices representing the point in a collection or + array corresponding to a single int index into the collection. + + The collection to which the indices apply + Index in the collection + Array of indices + + + + Clip a string to a given length, starting at a particular offset, returning the clipped + string with ellipses representing the removed parts + + The string to be clipped + The maximum permitted length of the result string + The point at which to start clipping + The clipped string + + + + Clip the expected and actual strings in a coordinated fashion, + so that they may be displayed together. + + + + + + + + + Shows the position two strings start to differ. Comparison + starts at the start index. + + The expected string + The actual string + The index in the strings at which comparison should start + Boolean indicating whether case should be ignored + -1 if no mismatch found, or the index where mismatch found + + + + NaNConstraint tests that the actual value is a double or float NaN + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test that the actual value is an NaN + + + + + + + NoItemConstraint applies another constraint to each + item in a collection, failing if any of them succeeds. + + + + + Construct a SomeItemsConstraint on top of an existing constraint + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + failing if any item fails. + + + + + + + NotConstraint negates the effect of some other constraint + + + + + Initializes a new instance of the class. + + The base constraint to be negated. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for if the base constraint fails, false if it succeeds + + + + NullConstraint tests that the actual value is null + + + + + Initializes a new instance of the class. + + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + The Numerics class contains common operations on numeric values. + + + + + Checks the type of the object, returning true if + the object is a numeric type. + + The object to check + true if the object is a numeric type + + + + Checks the type of the object, returning true if + the object is a floating point numeric type. + + The object to check + true if the object is a floating point numeric type + + + + Checks the type of the object, returning true if + the object is a fixed point numeric type. + + The object to check + true if the object is a fixed point numeric type + + + + Test two numeric values for equality, performing the usual numeric + conversions and using a provided or default tolerance. If the tolerance + provided is Empty, this method may set it to a default tolerance. + + The expected value + The actual value + A reference to the tolerance in effect + True if the values are equal + + + + Compare two numeric values, performing the usual numeric conversions. + + The expected value + The actual value + The relationship of the values to each other + + + + NUnitComparer encapsulates NUnit's default behavior + in comparing two objects. + + + + + Returns the default NUnitComparer. + + + + + Compares two objects + + + + + + + + NUnitEqualityComparer encapsulates NUnit's handling of + equality tests between objects. + + + + + If true, all string comparisons will ignore case + + + + + If true, arrays will be treated as collections, allowing + those of different dimensions to be compared + + + + + Comparison objects used in comparisons for some constraints. + + + + + List of points at which a failure occurred. + + + + + List of comparers used to compare pairs of objects. + + + + + Returns the default NUnitEqualityComparer + + + + + Gets and sets a flag indicating whether case should + be ignored in determining equality. + + + + + Gets and sets a flag indicating that arrays should be + compared as collections, without regard to their shape. + + + + + Gets the list of external comparers to be used to + test for equality. They are applied to members of + collections, in place of NUnit's own logic. + + + + + Gets the list of failure points for the last Match performed. + The list consists of objects to be interpreted by the caller. + This generally means that the caller may only make use of + objects it has placed on the list at a particular depth. + + + + + Flags the comparer to include + property in comparison of two values. + + + Using this modifier does not allow to use the + modifier. + + + + + Compares two objects for equality within a tolerance. + + + + + 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 the specified + count of members of a collection match a base constraint. + + + + + Construct an ExactCountOperator for a specified count + + The expected count + + + + Reduce produces a constraint from the operator and + any arguments. It takes the arguments from the constraint + stack and pushes the resulting constraint on it. + + + + + + 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. + + + + + Formats a prefix constraint's description. + + + + + PropertyConstraint extracts a named property and uses + its value as the actual value for a chained constraint. + + + + + Initializes a new instance of the class. + + The name. + The constraint to apply to the property. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + + + + Returns the string representation of the constraint. + + + + + PropertyExistsConstraint tests that a named property + exists on the object provided through Match. + + Originally, PropertyConstraint provided this feature + in addition to making optional tests on the value + of the property. The two constraints are now separate. + + + + + Initializes a new instance of the class. + + The name of the property. + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the property exists for a given object + + The object to be tested + True for success, false for failure + + + + Returns the string representation of the constraint. + + + + + + RangeConstraint tests whether two values are within a + specified range. + + + + + Initializes a new instance of the class. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use an and returns self. + + + + + Modifies the constraint to use a and returns self. + + + + + RegexConstraint can test whether a string matches + the pattern provided. + + + + + 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 + + + + + + The display name of this Constraint for use by ToString(). + The default value is the name of the constraint with + trailing "Constraint" removed. Derived classes may set + this to another name in their constructors. + + + + + Apply the item constraint to each item in the collection, + succeeding if any item succeeds. + + + + + + + Flag the constraint to use the supplied object. + + The type of the elements in the collection. + The type of the member. + The comparison function to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + Flag the constraint to use the supplied object. + + The IComparer object to use. + Self. + + + + StartsWithConstraint can test whether a string starts + with an expected substring. + + + + + Initializes a new instance of the class. + + The expected string + + + + Test whether the constraint is matched by the actual value. + This is a template method, which calls the IsMatch method + of the derived class. + + + + + + + StringConstraint is the abstract base for constraints + that operate on strings. It supports the IgnoreCase + modifier for string operations. + + + + + The expected value + + + + + Indicates whether tests should be case-insensitive + + + + + Description of this constraint + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Constructs a StringConstraint without an expected value + + + + + Constructs a StringConstraint given an expected value + + The expected value + + + + Modify the constraint to ignore case in matching. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Test whether the constraint is satisfied by a given string + + The string to be tested + True for success, false for failure + + + + SubPathConstraint tests that the actual path is under the expected path + + + + + Initializes a new instance of the class. + + The expected path + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + SubstringConstraint can test whether a string contains + the expected substring. + + + + + Initializes a new instance of the class. + + The expected. + + + + Modify the constraint to ignore case in matching. + This will call Using(StringComparison.CurrentCultureIgnoreCase). + + Thrown when a comparison type different + than was already set. + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + Modify the constraint to the specified comparison. + + Thrown when a comparison type different + than was already set. + + + + ThrowsConstraint is used to test the exception thrown by + a delegate by applying a constraint to it. + + + + + Initializes a new instance of the class, + using a constraint to be applied to the exception. + + A constraint to apply to the caught exception. + + + + Get the actual exception thrown - used by Assert.Throws. + + + + + Gets text describing a constraint + + + + + Executes the code of the delegate and captures any exception. + If a non-null base constraint was provided, it applies that + constraint to the exception. + + A delegate representing the code to be tested + True if an exception is thrown and the constraint succeeds, otherwise false + + + + Converts an ActualValueDelegate to a TestDelegate + before calling the primary overload. + + + + + + + Write the actual value for a failing constraint test to a + MessageWriter. This override only handles the special message + used when an exception is expected but none is thrown. + + The writer on which the actual value is displayed + + + + ThrowsExceptionConstraint tests that an exception has + been thrown, without any further tests. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Executes the code and returns success if an exception is thrown. + + A delegate representing the code to be tested + True if an exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + + + + ThrowsNothingConstraint tests that a delegate does not + throw an exception. + + + + + Gets text describing a constraint + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True if no exception is thrown, otherwise false + + + + Applies the constraint to an ActualValueDelegate that returns + the value to be tested. The default implementation simply evaluates + the delegate but derived classes may override it to provide for + delayed processing. + + An ActualValueDelegate + A ConstraintResult + + + + The Tolerance class generalizes the notion of a tolerance + within which an equality test succeeds. Normally, it is + used with numeric types, but it can be used with any + type that supports taking a difference between two + objects and comparing that difference to a value. + + + + + Returns a default Tolerance object, equivalent to an exact match. + + + + + Returns an empty Tolerance object, equivalent to an exact match. + + + + + Constructs a linear tolerance of a specified amount + + + + + Constructs a tolerance given an amount and + + + + + Returns a new tolerance, using the current amount as a percentage. + + + + + Returns a new tolerance, using the current amount in Ulps + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of days. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of hours. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of minutes. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of seconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of milliseconds. + + + + + Returns a new tolerance with a as the amount, using + the current amount as a number of clock ticks. + + + + + Gets the for the current Tolerance + + + + + Gets the magnitude of the current Tolerance instance. + + + + + Returns true if the current tolerance has not been set or is using the . + + + + + Apply the tolerance to an expected value and return + a Tolerance.Range that represents the acceptable values. + + + + + Tests that the current Tolerance is linear with a + numeric value, throwing an exception if it is not. + + + + + Tolerance.Range represents the range of values that match + a specific tolerance, when applied to a specific value. + + + + + The lower bound of the range + + + + + The Upper bound of the range + + + + + Construct a Range + + + + + Modes in which the tolerance value for a comparison can be interpreted. + + + + + The tolerance was created with a value, without specifying + how the value would be used. This is used to prevent setting + the mode more than once and is generally changed to Linear + upon execution of the test. + + + + + The tolerance is used as a numeric range within which + two compared values are considered to be equal. + + + + + Interprets the tolerance as the percentage by which + the two compared values my deviate from each other. + + + + + Compares two values based in their distance in + representable numbers. + + + + + TrueConstraint tests that the actual value is true + + + + + Initializes a new instance of the class. + + + + + Test whether the constraint is satisfied by a given value + + The value to be tested + True for success, false for failure + + + + TypeConstraint is the abstract base for constraints + that take a Type as their expected value. + + + + + The expected Type used by the constraint + + + + + The type of the actual argument to which the constraint was applied + + + + + Construct a TypeConstraint for a given Type + + The expected type for the constraint + Prefix used in forming the constraint description + + + + Applies the constraint to an actual value, returning a ConstraintResult. + + The value to be tested + A ConstraintResult + + + + Apply the constraint to an actual value, returning true if it succeeds + + The actual argument + True if the constraint succeeds, otherwise false. + + + + UniqueItemsConstraint tests whether all the items in a + collection are unique. + + + + + The Description of what this constraint tests, for + use in messages and in the ConstraintResult. + + + + + Check that all items are unique. + + + + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the dictionary. + + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the dictionary. + + + + + Returns a constraint that succeeds if the actual + value contains the substring supplied as an argument. + + + + + Asserts on Directories + + + + + DO NOT USE! Use DirectoryAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if the directories are not equal + Arguments to be used in formatting the message + + + + Verifies that two directories are equal. Two directories are considered + equal if both are null, or if both point to the same directory. + If they are not equal an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that two directories are not equal. If they are equal + an is thrown. + + A directory containing the value that is expected + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory exists. If it does not exist + an is thrown. + + The path to a directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + A directory containing the actual value + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + The message to display if directories are not equal + Arguments to be used in formatting the message + + + + Asserts that the directory does not exist. If it does exist + an is thrown. + + The path to a directory containing the actual value + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a constraint that succeeds if the value + is a file or directory and it exists. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + Returns a new . This constraint + will, in turn, make use of the appropriate second-level + constraint, depending on the type of the actual argument. + This overload is only used if the item sought is a string, + since any other type implies that we are looking for a + collection member. + + + + + Returns a new DictionaryContainsKeyConstraint checking for the + presence of a particular key in the Dictionary key collection. + + The key to be matched in the Dictionary key collection + + + + Returns a new DictionaryContainsValueConstraint checking for the + presence of a particular value in the Dictionary value collection. + + The value to be matched in the Dictionary value collection + + + + Returns a constraint that succeeds if the actual + value starts with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value ends with the substring supplied as an argument. + + + + + Returns a constraint that succeeds if the actual + value matches the regular expression supplied as an argument. + + + + + 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 + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Thrown when an assertion failed. + + + + + Default Constructor (normally used) + + + + The error message that explains + the reason for the exception + The exception that caused the + current exception + + + + 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 + + + + 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 + + + + Gets the ResultState provided by this exception + + + + + Asserts on Files + + + + + DO NOT USE! Use FileAssert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two Streams are equal. Two Streams are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The expected Stream + The actual Stream + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Verifies that two files are equal. Two files are considered + equal if both are null, or if both have the same value byte for byte. + If they are not equal an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + The message to be displayed when the two Stream are the same. + Arguments to be used in formatting the message + + + + Asserts that two Streams are not equal. If they are equal + an is thrown. + + The expected Stream + The actual Stream + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + A file containing the value that is expected + A file containing the actual value + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that two files are not equal. If they are equal + an is thrown. + + The path to a file containing the value that is expected + The path to a file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file exists. If it does not exist + an is thrown. + + The path to a file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + A file containing the actual value + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + The message to display if Streams are not equal + Arguments to be used in formatting the message + + + + Asserts that the file does not exist. If it does exist + an is thrown. + + The path to a file containing the actual value + + + + Class used to guard against unexpected argument values + or operations by throwing an appropriate exception. + + + + + Throws an exception if an argument is null + + The value to be tested + The name of the argument + + + + Throws an exception if a string argument is null or empty + + The value to be tested + The name of the argument + + + + Throws an ArgumentOutOfRangeException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an ArgumentException if the specified condition is not met. + + The condition that must be met + The exception message to be used + The name of the argument + + + + Throws an InvalidOperationException if the specified condition is not met. + + The condition that must be met + The exception message to be used + + + + Helper class with properties and methods that supply + a number of constraints used in Asserts. + + + + + Returns a ConstraintExpression that negates any + following constraint. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them succeed. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if at least one of them succeeds. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding if all of them fail. + + + + + Returns a ConstraintExpression, which will apply + the following constraint to all members of a collection, + succeeding only if a specified number of them succeed. + + + + + Returns a which will apply + the following constraint to only one member of the collection, + and fail if none or more than one match occurs. + + + + + Returns a new PropertyConstraintExpression, which will either + test for the existence of the named property on the object + being tested or apply any following constraint to that property. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Length property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Count property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the Message property of the object being tested. + + + + + Returns a new ConstraintExpression, which will apply the following + constraint to the InnerException property of the object being tested. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new AttributeConstraint checking for the + presence of a particular attribute on an object. + + + + + Returns a new checking for the + presence of a particular object in the collection. + + + + + The AssertionResult class represents the result of a single assertion. + + + + + Construct an AssertionResult + + + + The pass/fail status of the assertion + + + The message produced by the assertion, or null + + + The stacktrace associated with the assertion, or null + + + + ToString Override + + + + + Override GetHashCode + + + + + Override Equals + + + + + + AssertionStatus enumeration represents the possible outcomes of an assertion. + The order of definition is significant, higher level values override lower + ones in determining the overall result of a test. + + + + + An assumption failed + + + + + The assertion succeeded + + + + + A warning message was issued + + + + + The assertion failed + + + + + An unexpected exception was thrown + + + + + The IApplyToContext interface is implemented by attributes + that want to make changes to the execution context before + a test is run. + + + + + Apply changes to the execution context + + The execution context + + + + The IApplyToTest interface is implemented by self-applying + attributes that modify the state of a test in some way. + + + + + Modifies a test as defined for the specific attribute. + + The test to modify + + + + CombiningStrategy is the abstract base for classes that + know how to combine values provided for individual test + parameters to create a set of test cases. + + + + + Gets the test cases generated by the CombiningStrategy. + + The test cases. + + + + ICommandWrapper is implemented by attributes and other + objects able to wrap a TestCommand with another command. + + + Attributes or other objects should implement one of the + derived interfaces, rather than this one, since they + indicate in which part of the command chain the wrapper + should be applied. + + + + + Wrap a command and return the result. + + The command to be wrapped + The wrapped command + + + + Objects implementing this interface are used to wrap + the TestMethodCommand itself. They apply after SetUp + has been run and before TearDown. + + + + + Objects implementing this interface are used to wrap + the entire test, including SetUp and TearDown. + + + + + 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 properties, client code + should use the Set method to set the value and Get to + retrieve the value. The GetSetting methods may also be + used to retrieve the value in a type-safe manner while + also providing default. For example: + + bag.Set("Priority", "low"); + bag.Set("Priority", "high"); // replaces value + Assert.That(bag.Get("Priority"), + Is.EqualTo("high")); + Assert.That(bag.GetSetting("Priority", "low"), + Is.EqualTo("high")); + + + + + Adds a key/value pair to the property bag + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + True if their are values present, otherwise false + + + + Gets or sets the list of values for a particular key + + The key for which the values are to be retrieved or set + + + + Gets a collection containing all the keys in the property set + + + + + The IReflectionInfo interface is implemented by NUnit wrapper objects that perform reflection. + + + + + Returns an array of custom attributes of the specified type applied to this object + + + + + Returns a value indicating whether an attribute of the specified type is defined on this object. + + + + + The ISimpleTestBuilder interface is exposed by a class that knows how to + build a single 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 type of the test + + + + + Gets the fully qualified name of the test + + + + + Gets the name of the class containing this test. Returns + null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Gets the Type of the test fixture, if applicable, or + null if no fixture type is associated with this test. + + + + + Gets 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 arguments to use in creating the test or empty array if none are required. + + + + + The ITestBuilder interface is exposed by a class that knows how to + build 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 explicitly. 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 explicitly, otherwise false + + + + The ITestCaseData interface is implemented by a class + that is able to return the data required to create an + instance of a parameterized test fixture. + + + + + Get the TypeArgs if separately set + + + + + The ITestListener interface is used internally to receive + notifications of significant events while a test is being + run. The events are propagated to clients by means of an + AsyncCallback. NUnit extensions may also monitor these events. + + + + + Called when a test has just started + + The test that is starting + + + + Called when a test has finished + + The result of the test + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + Accessing HasChildren should not force creation of the + Children collection in classes implementing this interface. + + + + + Gets the collection of child results. + + + + + Gets the Test to which this result applies. + + + + + Gets any text output written to this result. + + + + + Gets a list of AssertionResults associated with the test + + + + + Gets the collection of files attached to the test + + + + + The ITypeInfo interface is an abstraction of a .NET Type + + + + + Gets the underlying Type on which this ITypeInfo is based + + + + + Gets the base type of this type as an ITypeInfo + + + + + Returns true if the Type wrapped is equal to the argument + + + + + Gets the Name of the Type + + + + + Gets the 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 object of this type, constructed with specific arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a value indicating whether this type has a method with a specified public attribute + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + An object implementing IXmlNodeBuilder is able to build + an XML representation of itself and any children. + + + + + Returns a TNode representing the current object. + + If true, children are included where applicable + A TNode representing the result + + + + Returns a TNode representing the current object after + adding it as a child of the supplied parent node. + + The parent node. + If true, children are included, where applicable + + + + + The ResultState class represents the outcome of running a test. + It contains two pieces of information. The Status of the test + is an enum indicating whether the test passed, failed, was + skipped or was inconclusive. The Label provides a more + detailed breakdown for use by client runners. + + + + + Initializes a new instance of the class. + + The TestStatus. + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + + + + Initializes a new instance of the class. + + The TestStatus. + The stage at which the result was produced + + + + Initializes a new instance of the class. + + The TestStatus. + The label. + The stage at which the result was produced + + + + The result is inconclusive + + + + + The test has been skipped. + + + + + The test has been ignored. + + + + + The test was skipped because it is explicit + + + + + The test succeeded + + + + + The test issued a warning + + + + + The test failed + + + + + The test encountered an unexpected exception + + + + + The test was cancelled by the user + + + + + The test was not runnable. + + + + + A suite failed because one or more child tests failed or had errors + + + + + A suite failed 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 + + + + Test whether this ResultState has the same Status and Label + as another one. In other words, the whether two are equal + ignoring the Site. + + + + + + + Determines whether the specified , 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 TestAttachment class represents a file attached to a TestResult, + with an optional description. + + + + + Absolute file path to attachment file + + + + + User specifed description of attachment. May be null. + + + + + Creates a TestAttachment class to represent a file attached to a test result. + + Absolute file path to attachment file + User specifed description of attachment. May be null. + + + + The TestOutput class holds a unit of output from + a test to a specific output stream + + + + + Construct with text, output destination type and + the name of the test that produced the output. + + Text to be output + Name of the stream or channel to which the text should be written + Id of the test that produced the output + FullName of test that produced the output + + + + Return string representation of the object for debugging + + + + + + Get the text + + + + + Get the output type + + + + + Get the name of the test that created the output + + + + + Get the id of the test that created the output + + + + + Convert the TestOutput object to an XML string + + + + + The TestStatus enum indicates the result of running a test + + + + + The test was inconclusive + + + + + The test has skipped + + + + + The test succeeded + + + + + There was a warning + + + + + The test failed + + + + + TNode represents a single node in the XML representation + of a Test or TestResult. It replaces System.Xml.XmlNode and + System.Xml.Linq.XElement, providing a minimal set of methods + for operating on the XML in a platform-independent manner. + + + + + Constructs a new instance of TNode + + The name of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + + + + Constructs a new instance of TNode with a value + + The name of the node + The text content of the node + Flag indicating whether to use CDATA when writing the text + + + + Gets the name of the node + + + + + Gets the value of the node + + + + + Gets a flag indicating whether the value should be output using CDATA. + + + + + Gets the dictionary of attributes + + + + + Gets a list of child nodes + + + + + Gets the first ChildNode + + + + + Gets the XML representation of this node. + + + + + Create a TNode from 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 + + + + AssemblyHelper provides static methods for working + with assemblies. + + + + + Gets the path from which an assembly was loaded. + For builds where this is not possible, returns + the name of the assembly. + + The assembly. + The path. + + + + Gets the path to the directory from which an assembly was loaded. + + The assembly. + The path. + + + + Gets the AssemblyName of an assembly. + + The assembly + An AssemblyName + + + + Loads an assembly given a string, which is the AssemblyName + + + + + + + Gets the assembly path from code base. + + Public for testing purposes + The code base. + + + + + 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 + + + + + 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. + + + + 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. + + + + + Point in the tree where items in the global namespace are added + + + + + Initializes a new instance of the class. + + The root suite. + + + + Gets the root entry in the tree created by the NamespaceTreeBuilder. + + The root suite. + + + + Adds the specified fixtures to the tree. + + The fixtures to be added. + + + + Adds the specified fixture to the tree. + + The fixture to be added. + + + + NUnitTestCaseBuilder is a utility class used by attributes + that build test cases. + + + + + Constructs an + + + + + Builds a single NUnitTestMethod, either as a child of the fixture + or as one of a set of test cases under a ParameterizedTestMethodSuite. + + The MethodInfo from which to construct the TestMethod + The suite or fixture to which the new test will be added + The ParameterSet to be used, or null + + + + + 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 + + + + 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. + + + + TestActionAfterCommand handles the AfterTest method of a single + TestActionItem, provided the items BeforeTest has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + AfterCommand is a DelegatingTestCommand that performs some + specific action after the inner command is run. + + + + + Construct an AfterCommand + + + + + Execute the command + + + + + Set this to perform action after the inner command. + + + + + ContextSettingsCommand applies specified changes to the + TestExecutionContext prior to running a test. No special + action is needed after the test runs, since the prior + context will be restored automatically. + + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + + + + Runs the test, saving a TestResult in the supplied TestExecutionContext. + + The context in which the test should run. + A TestResult + + + + Perform the before test action + + + + + Perform the after test action + + + + + TestActionBeforeCommand handles the BeforeTest method of a single + TestActionItem, relying on the item to remember it has been run. + + + + + Initializes a new instance of the class. + + The inner command. + The TestActionItem to run before the inner command. + + + + BeforeTestCommand is a DelegatingTestCommand that performs some + specific action before the inner command is run. + + + + + Construct a BeforeCommand + + + + + Execute the command + + + + + Action to perform before the inner command. + + + + + ConstructFixtureCommand constructs the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + + + + DelegatingTestCommand wraps an inner TestCommand. + Derived classes may do what they like before or + after running the inner command. + + + + TODO: Documentation needed for field + + + + TODO: Documentation needed for constructor + + + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + + + + EmptyTestCommand is a TestCommand that does nothing. It simply + returns the current result from the context when executed. We + use it to avoid testing for null when executing a chain of + DelegatingTestCommands. + + + + + Construct a NullCommand for a test + + + + + Execute the command + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The inner command. + The max time allowed in milliseconds + + + + OneTimeSetUpCommand runs any one-time setup methods for a suite, + constructing the user test object if necessary. + + + + + Constructs a OneTimeSetUpCommand for a suite + + The inner command to which the command applies + A SetUpTearDownList for use by the command + + + + OneTimeTearDownCommand performs any teardown actions + specified for a suite and calls Dispose on the user + test object, if any. + + + + + Construct a OneTimeTearDownCommand + + The command wrapped by this command + A SetUpTearDownList for use by the command + + + + SetUpTearDownCommand runs SetUp methods for a suite, + runs the test and then runs TearDown methods. + + + + + Initializes a new instance of the class. + + The inner command. + List of setup/teardown items + + + + SetUpTearDownItem holds the setup and teardown methods + for a single level of the inheritance hierarchy. + + + + + Construct a SetUpTearDownNode + + A list of setup methods for this level + A list teardown methods for this level + + + + Returns true if this level has any methods at all. + This flag is used to discard levels that do nothing. + + + + + Run SetUp on this level. + + The execution context to use for running. + + + + Run TearDown for this level. + + + + + + TODO: Documentation needed for class + + + + + Initializes a new instance of the class. + + The test being skipped. + + + + Overridden to simply set the CurrentResult to the + appropriate Skipped state. + + The execution context for the test + A TestResult + + + + TestActionCommand handles a single ITestAction applied + to a test. It runs the BeforeTest method, then runs the + test and finally runs the AfterTest method. + + + + + Initializes a new instance of the class. + + The inner command. + The TestAction with which to wrap the inner command. + + + + TestActionItem wraps a single execution of an ITestAction. + It's primary purpose is to track whether the BeforeTest + method has been called and suppress calling the + AfterTest method if it has not. This is necessary when + ITestActions are used before and after a CompositeWorkItem, + since the OneTimeSetUpCommand and OneTimeTearDownCommand + are separate command chains. By sharing a TestActionItem + between the setup and teardown chains, the two calls can + be coordinated. + + + + + Construct a TestActionItem + + The ITestAction to be included + + + + Get flag indicating if the BeforeTest entry was already called. + + + + + Run the BeforeTest method of the action and remember that it has been run. + + The test to which the action applies + + + + Run the AfterTest action, but only if the BeforeTest + action was actually run. + + The test to which the action applies + + + + TestCommand is the abstract base class for all test commands + in the framework. A TestCommand represents a single stage in + the execution of a test, e.g.: SetUp/TearDown, checking for + Timeout, verifying the returned result from a method, etc. + + TestCommands may decorate other test commands so that the + execution of a lower-level command is nested within that + of a higher level command. All nested commands are executed + synchronously, as a single unit. Scheduling test execution + on separate threads is handled at a higher level, using the + task dispatcher. + + + + + Construct a TestCommand for a test. + + The test to be executed + + + + Gets the test associated with this command. + + + + + Runs the test in a specified context, returning a TestResult. + + The TestExecutionContext to be used for running the test. + A TestResult + + + + TestMethodCommand is the lowest level concrete command + used to run actual test cases. + + + + + Initializes a new instance of the class. + + The test. + + + + Runs the test, saving a TestResult in the execution context, as + well as returning it. If the test has an expected result, it + is asserts on that value. Since failed tests and errors throw + an exception, this command must be wrapped in an outer command, + will handle that exception and records the failure. This role + is usually played by the SetUpTearDown command. + + The execution context + + + + TheoryResultCommand adjusts the result of a Theory so that + it fails if all the results were inconclusive. + + + + + Constructs a TheoryResultCommand + + The command to be wrapped by this one + + + + 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. Optionally excludes exception names, + creating a more readable message. + + The exception. + Flag indicating whether exception names should be excluded. + A combined message string. + + + + Builds up a message, using the Message field of the specified exception + as well as any InnerExceptions. + + The exception. + A combined stack trace. + + + + Gets the stack trace of the exception. If no stack trace + is provided, returns "No stack trace available". + + The exception. + A string representation of the stack trace. + + + + A CompositeWorkItem represents a test suite and + encapsulates the execution of the suite as well + as all its child tests. + + + + + List of Child WorkItems + + + + + Construct a CompositeWorkItem for executing a test suite + using a filter to select child tests. + + The TestSuite to be executed + A filter used to select child tests + + + + Method that actually performs the work. Overridden + in CompositeWorkItem to do one-time setup, run all child + items and then dispatch the one-time teardown work item. + + + + + + + + + + Cancel (abort or stop) a CompositeWorkItem and all of its children + + true if the CompositeWorkItem and all of its children should be aborted, false if it should allow all currently running tests to complete + + + + OneTimeTearDownWorkItem represents the cleanup + and one-time teardown phase of a CompositeWorkItem + + + + + Construct a OneTimeTearDownWOrkItem wrapping a CompositeWorkItem + + The CompositeWorkItem being wrapped + + + + The WorkItem name, overridden to indicate this is the teardown. + + + + + + + + + + PerformWork is not used in CompositeWorkItem + + + + + EventListenerTextWriter sends text output to the currently active + ITestEventListener in the form of a TestOutput object. If no event + listener is active in the context, or if there is no context, + the output is forwarded to the supplied default writer. + + + + + Construct an EventListenerTextWriter + + The name of the stream to use for events + The default writer to use if no listener is available + + + + Get the Encoding for this TextWriter + + + + + Write formatted string + + + + + Write formatted string + + + + + Write formatted string + + + + + Write an object + + + + + Write a string + + + + + Write a decimal + + + + + Write a double + + + + + Write formatted string + + + + + Write a ulong + + + + + Write a long + + + + + Write a uint + + + + + Write an int + + + + + Write a char + + + + + Write a boolean + + + + + Write chars + + + + + Write chars + + + + + Write a float + + + + + Write a string with newline + + + + + Write an object with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write formatted string with newline + + + + + Write a decimal with newline + + + + + Write a formatted string with newline + + + + + Write a double with newline + + + + + Write a uint with newline + + + + + Write a ulong with newline + + + + + Write a long with newline + + + + + Write an int with newline + + + + + Write a bool with newline + + + + + Write chars with newline + + + + + Write chars with newline + + + + + Write a char with newline + + + + + Write a float with newline + + + + + Write newline + + + + + An IWorkItemDispatcher handles execution of work items. + + + + + The level of parallelism supported. Zero if not supported. + + + + + Start execution, performing any initialization. Sets + the top level work item and dispatches it. + + + + + Dispatch a single work item for execution. The first + work item dispatched is saved as the top-level + work item and used when stopping the run. + + The item to dispatch + + + + Cancel the ongoing run completely. + If no run is in process, the call has no effect. + + true if the IWorkItemDispatcher should abort all currently running WorkItems, false if it should allow all currently running WorkItems to complete + + + + 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. + + + + + Creates a test command for use in running this test. + + A TestCommand + + + + SimpleWorkItemDispatcher handles execution of WorkItems by + directly executing them. It is provided so that a dispatcher + is always available in the context, thereby simplifying the + code needed to run child tests. + + + + + The level of parallelism supported + + + + + Start execution, creating the execution thread, + setting the top level work and dispatching it. + + + + + Dispatch a single work item for execution by + executing it directly. + The item to dispatch + + + + + Cancel (abort or stop) the ongoing run. + If no run is in process, the call has no effect. + + true if the run should be aborted, false if it should allow its currently running test to complete + + + + The TextCapture class intercepts console output and writes it + to the current execution context, if one is present on the thread. + If no execution context is found, the output is written to a + default destination, normally the original destination of the + intercepted output. + + + + + Construct a TextCapture object + + The default destination for non-intercepted output + + + + Gets the Encoding in use by this TextWriter + + + + + Writes a single character + + The char to write + + + + Writes a string + + The string to write + + + + Writes a string followed by a line terminator + + The string to write + + + + A WorkItem may be an individual test case, a fixture or + a higher level grouping of tests. All WorkItems inherit + from the abstract WorkItem class, which uses the template + pattern to allow derived classes to perform work in + whatever way is needed. + + A WorkItem is created with a particular TestExecutionContext + and is responsible for re-establishing that context in the + current thread before it begins or resumes execution. + + + + + Construct a WorkItem for a particular test. + + The test that the WorkItem will run + Filter used to include or exclude child items + + + + Construct a work Item that wraps another work Item. + Wrapper items are used to represent independently + dispatched tasks, which form part of the execution + of a single test, such as OneTimeTearDown. + + The WorkItem being wrapped + + + + Initialize the TestExecutionContext. This must be done + before executing the WorkItem. + + + Originally, the context was provided in the constructor + but delaying initialization of the context until the item + is about to be dispatched allows changes in the parent + context during OneTimeSetUp to be reflected in the child. + + The TestExecutionContext to use + + + + Event triggered when the item is complete + + + + + Gets the current state of the WorkItem + + + + + The test being executed by the work item + + + + + The name of the work item - defaults to the Test name. + + + + + Filter used to include or exclude child tests + + + + + The execution context + + + + + The test result + + + + + Gets the ParallelScope associated with the test, if any, + otherwise returning ParallelScope.Default; + + + + + Execute the current work item, including any + child work items. + + + + + Wait until the execution of this item is complete + + + + + Marks the WorkItem as NotRunnable. + + Reason for test being NotRunnable. + + + + Cancel (abort or stop) a WorkItem + + true if the WorkItem should be aborted, false if it should run to completion + + + + Standard Dispose + + + + + Method that performs actually performs the work. It should + set the State to WorkItemState.Complete when done. + + + + + Method called by the derived class when all work is complete + + + + + Builds the set up tear down list. + + Unsorted array of setup MethodInfos. + Unsorted array of teardown MethodInfos. + A list of SetUpTearDownItems + + + + Changes the result of the test, logging the old and new states + + The new ResultState + The new message + + + + WorkItemBuilder class knows how to build a tree of work items from a tree of tests + + + + + Creates a work item. + + The test for which this WorkItem is being created. + The filter to be used in selecting any child Tests. + True if child work items should be created and added. + + + + + 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. + + + + The current state of a work item + + + + + Ready to run or continue + + + + + Work Item is executing + + + + + 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 + + + + Gets the unique type name between expected and actual. + + The expected value + The actual value causing the failure + Output of the unique type name for expected + Output of the unique type name for actual + + + + Display Expected and Actual lines for given values. This + method may be called by constraints that need more control over + the display of actual and expected values than is provided + by the default implementation. + + The expected value + The actual value causing the failure + + + + Display Expected and Actual lines for given values, including + a tolerance value on the expected line. + + The expected value + The actual value causing the failure + The tolerance within which the test was made + + + + Display the expected and actual string values on separate lines. + If the mismatch parameter is >=0, an additional line is displayed + line containing a caret that points to the mismatch point. + + The expected string value + The actual string value + The point at which the strings don't match or -1 + If true, case is ignored in string comparisons + If true, clip the strings to fit the max line length + + + + Writes the text for an actual value. + + The actual value. + + + + Writes the text for a generalized value. + + The value. + + + + Writes the text for a collection value, + starting at a particular point, to a max length + + The collection containing elements to write. + The starting point of the elements to write + The maximum number of elements to write + + + + Write the generic 'Expected' line for a constraint + + The constraint that failed + + + + Write the generic 'Expected' line for a given value + + 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 + + + + Checks whether the AndFilter is explicit matched by a test. + + The test to be matched + True if all the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + CategoryFilter is able to select or exclude tests + based on their categories. + + + + + Construct a CategoryFilter using a single category name + + A category name + + + + Check whether the filter matches a test + + The test to be matched + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + A base class for multi-part filters + + + + + Constructs an empty CompositeFilter + + + + + Constructs a CompositeFilter from an array of filters + + + + + + Adds a filter to the list of filters + + The filter to be added + + + + Return a list of the composing filters. + + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is matched by a test. + + The test to be matched + + + + Checks whether the CompositeFilter is explicit matched by a test. + + The test to be matched + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a FullNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + IdFilter selects tests based on their id + + + + + Construct an IdFilter for a single value + + The id the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + FullName filter selects tests based on their FullName + + + + + Construct a MethodNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ClassName filter selects tests based on the class FullName + + + + + Construct a NamespaceFilter for a single namespace + + The namespace the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + NotFilter negates the operation of another filter + + + + + Construct a not filter on another filter + + The filter to be negated + + + + Gets the base filter + + + + + Determine if a particular test passes the filter criteria. The 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 explicitly. 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 explicitly, otherwise false + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Combines multiple filters so that a test must pass one + of them in order to pass this filter. + + + + + Constructs an empty OrFilter + + + + + Constructs an 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 + + + + Checks whether the OrFilter is explicit matched by a test + + The test to be matched + True if any of the component filters explicit match, otherwise false + + + + Gets the element name + + Element name + + + + PropertyFilter is able to select or exclude tests + based on their properties. + + + + + Construct a PropertyFilter using a property name and expected value + + A property name + The expected value of the property + + + + Check whether the filter matches a test + + The test to be matched + + + + + Adds an XML node + + Parent node + True if recursive + The added XML node + + + + Gets the element name + + Element name + + + + TestName filter selects tests based on their Name + + + + + Construct a TestNameFilter for a single name + + The name the filter will recognize. + + + + Match a test against a single value. + + + + + Gets the element name + + Element name + + + + ValueMatchFilter selects tests based on some value, which + is expected to be contained in the test. + + + + + Returns the value matched by the filter - used for testing + + + + + Indicates whether the value is a regular expression + + + + + Construct a ValueMatchFilter for a single value. + + The value to be included. + + + + Match the input provided by the derived class + + The value to be 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 arguments 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. + + + + 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. + + + + Interface for logging within the engine + + + + + Logs the specified message at the error level. + + The message. + + + + Logs the specified message at the error level. + + The message. + The arguments. + + + + Logs the specified message at the warning level. + + The message. + + + + Logs the specified message at the warning level. + + The message. + The arguments. + + + + Logs the specified message at the info level. + + The message. + + + + Logs the specified message at the info level. + + The message. + The arguments. + + + + Logs the specified message at the debug level. + + The message. + + + + Logs the specified message at the debug level. + + The message. + The arguments. + + + + InternalTrace provides facilities for tracing the execution + of the NUnit framework. Tests and classes under test may make use + of Console writes, System.Diagnostics.Trace or various loggers and + NUnit itself traps and processes each of them. For that reason, a + separate internal trace is needed. + + Note: + InternalTrace uses a global lock to allow multiple threads to write + trace messages. This can easily make it a bottleneck so it must be + used sparingly. Keep the trace Level as low as possible and only + insert InternalTrace writes where they are needed. + TODO: add some buffering and a separate writer thread as an option. + TODO: figure out a way to turn on trace in specific classes only. + + + + + Gets a flag indicating whether the InternalTrace is initialized + + + + + Initialize the internal trace facility using the name of the log + to be written to and the trace level. + + The log name + The trace level + + + + Initialize the internal trace using a provided TextWriter and level + + A TextWriter + The InternalTraceLevel + + + + Get a named Logger + + + + + + Get a logger named for a particular Type. + + + + + InternalTraceLevel is an enumeration controlling the + level of detailed presented in the internal log. + + + + + Use the default settings as specified by the user. + + + + + Do not display any trace messages + + + + + Display Error messages only + + + + + Display Warning level and higher messages + + + + + Display informational and higher messages + + + + + Display debug messages and higher - i.e. all messages + + + + + Display debug messages and higher - i.e. all messages + + + + + A trace listener that writes to a separate file per domain + and process using it. + + + + + Construct an InternalTraceWriter that writes to a file. + + Path to the file to use + + + + Construct an InternalTraceWriter that writes to a + TextWriter provided by the caller. + + + + + + Returns the character encoding in which the output is written. + + The character encoding in which the output is written. + + + + Writes a character to the text string or stream. + + The character to write to the text stream. + + + + Writes a string to the text string or stream. + + The string to write. + + + + Writes a string followed by a line terminator to the text string or stream. + + The string to write. If is null, only the line terminator is written. + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Clears all buffers for the current writer and causes any buffered data to be written to the underlying device. + + + + + Provides internal logging to the NUnit framework + + + + + Initializes a new instance of the class. + + The name. + The log level. + The writer where logs are sent. + + + + Logs the message at error level. + + The message. + + + + Logs the message at error level. + + The message. + The message arguments. + + + + Logs the message at warm level. + + The message. + + + + Logs the message at warning level. + + The message. + The message arguments. + + + + Logs the message at info level. + + The message. + + + + Logs the message at info level. + + The message. + The message arguments. + + + + Logs the message at debug level. + + The message. + + + + Logs the message at debug level. + + The message. + The message arguments. + + + + The MethodWrapper class wraps a MethodInfo so that it may + be used in a platform-independent manner. + + + + + Construct a MethodWrapper for a Type and a MethodInfo. + + + + + Construct a MethodInfo for a given Type and method name. + + + + + Gets the Type from which this method was reflected. + + + + + Gets the MethodInfo for this method. + + + + + Gets the name of the method. + + + + + Gets a value indicating whether the method is abstract. + + + + + Gets a value indicating whether the method is public. + + + + + Gets a value indicating whether the method contains unassigned generic type parameters. + + + + + Gets a value indicating whether the method is a generic method. + + + + + Gets a value indicating whether the MethodInfo represents the definition of a generic method. + + + + + Gets the return Type of the method. + + + + + Gets the parameters of the method. + + + + + + Returns the Type arguments of a generic method or the Type parameters of a generic method definition. + + + + + Replaces the type parameters of the method with the array of types provided and returns a new IMethodInfo. + + The type arguments to be used + A new IMethodInfo with the type arguments replaced + + + + Returns an array of custom attributes of the specified type applied to this method + + + + + Gets a value indicating whether one or more attributes of the specified type are defined on the method. + + + + + Invokes the method, converting any TargetInvocationException to an NUnitException. + + The object on which to invoke the method + The argument list for the method + The return value from the invoked method + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 + + + + Helper methods for converting parameters to numeric values to supported types + + + + + Converts an array of objects to the , if it is supported. + + + + + 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. + + + + + A PropertyBag represents a collection of name value pairs + that allows duplicate entries with the same key. Methods + are provided for adding a new pair as well as for setting + a key to a single value. All keys are strings but values + may be of any type. Null values are not permitted, since + a null entry represents the absence of the key. + + + + + Adds a key/value pair to the property set + + The key + The value + + + + Sets the value for a key, removing any other + values that are already in the property set. + + + + + + + Gets a single value for a key, using the first + one if multiple values are present and returning + null if the value is not found. + + + + + + + Gets a flag indicating whether the specified key has + any entries in the property set. + + The key to be checked + + True if their are values present, otherwise false + + + + + Gets a collection containing all the keys in the property set + + + + + + Gets or sets the list of values for a particular key + + + + + Returns an XmlNode representing the current PropertyBag. + + Not used + An XmlNode representing the PropertyBag + + + + Returns an XmlNode representing the PropertyBag after + adding it as a child of the supplied parent node. + + The parent node. + Not used + + + + + The PropertyNames class provides static constants for the + standard property ids that NUnit uses on tests. + + + + + The FriendlyName of the AppDomain in which the assembly is running + + + + + The selected strategy for joining parameter data into test cases + + + + + The process ID of the executing assembly + + + + + The stack trace from any data provider that threw + an exception. + + + + + The reason a test was not run + + + + + The author of the tests + + + + + The ApartmentState required for running the test + + + + + The categories applying to a test + + + + + The Description of a test + + + + + The number of threads to be used in running tests + + + + + The maximum time in ms, above which the test is considered to have failed + + + + + The ParallelScope associated with a test + + + + + The number of times the test should be repeated + + + + + Indicates that the test should be run on a separate thread + + + + + The culture to be set for a test + + + + + The UI culture to be set for a test + + + + + The type that is under test + + + + + The timeout value for the test + + + + + The test will be ignored until the given date + + + + + The optional Order the test will run in + + + + + Randomizer returns a set of random values in a repeatable + way, to allow re-running of tests if necessary. It extends + the .NET Random class, providing random values for a much + wider range of types. + + The class is used internally by the framework to generate + test case data and is also exposed for use by users through + the TestContext.Random property. + + + For consistency with the underlying Random Type, methods + returning a single value use the prefix "Next..." Those + without an argument return a non-negative value up to + the full positive range of the Type. Overloads are provided + for specifying a maximum or a range. Methods that return + arrays or strings use the prefix "Get..." to avoid + confusion with the single-value methods. + + + + + Initial seed used to create randomizers for this run + + + + + Get a Randomizer for a particular member, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Get a randomizer for a particular parameter, returning + one that has already been created if it exists. + This ensures that the same values are generated + each time the tests are reloaded. + + + + + Create a new Randomizer using the next seed + available to ensure that each randomizer gives + a unique sequence of values. + + + + + + Default constructor + + + + + Construct based on seed value + + + + + + Returns a random unsigned int. + + + + + Returns a random unsigned int less than the specified maximum. + + + + + Returns a random unsigned int within a specified range. + + + + + Returns a non-negative random short. + + + + + Returns a non-negative random short less than the specified maximum. + + + + + Returns a non-negative random short within a specified range. + + + + + Returns a random unsigned short. + + + + + Returns a random unsigned short less than the specified maximum. + + + + + Returns a random unsigned short within a specified range. + + + + + Returns a random long. + + + + + Returns a random long less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random ulong. + + + + + Returns a random ulong less than the specified maximum. + + + + + Returns a non-negative random long within a specified range. + + + + + Returns a random Byte + + + + + Returns a random Byte less than the specified maximum. + + + + + Returns a random Byte within a specified range + + + + + Returns a random SByte + + + + + Returns a random sbyte less than the specified maximum. + + + + + Returns a random sbyte within a specified range + + + + + Returns a random bool + + + + + Returns a random bool based on the probability a true result + + + + + Returns a random double between 0.0 and the specified maximum. + + + + + Returns a random double within a specified range. + + + + + Returns a random float. + + + + + Returns a random float between 0.0 and the specified maximum. + + + + + Returns a random float within a specified range. + + + + + Returns a random enum value of the specified Type as an object. + + + + + Returns a random enum value of the specified Type. + + + + + Default characters for random functions. + + Default characters are the English alphabet (uppercase & lowercase), arabic numerals, and underscore + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + string representing the set of characters from which to construct the resulting string + A random string of arbitrary length + + + + Generate a random string based on the characters from the input string. + + desired length of output string. + A random string of arbitrary length + Uses DefaultStringChars as the input character set + + + + Generate a random string based on the characters from the input string. + + A random string of the default length + Uses DefaultStringChars as the input character set + + + + Returns a random decimal. + + + + + Returns a random decimal between positive zero and the specified maximum. + + + + + Returns a random decimal within a specified range, which is not + permitted to exceed decimal.MaxVal in the current implementation. + + + A limitation of this implementation is that the range from min + to max must not exceed decimal.MaxVal. + + + + + Generates a valid version 4 . + + + + + Helper methods for inspecting a type by reflection. + + Many of these methods take ICustomAttributeProvider as an + argument to avoid duplication, even though certain attributes can + only appear on specific types of members, like MethodInfo or Type. + + In the case where a type is being examined for the presence of + an attribute, interface or named member, the Reflect methods + operate with the full name of the member being sought. This + removes the necessity of the caller having a reference to the + assembly that defines the item being sought and allows the + NUnit core to inspect assemblies that reference an older + version of the NUnit framework. + + + + + Examine a fixture type and return 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 + + + + + Selects the ultimate shadowing property just like would, + rather than throwing + for properties that shadow properties of a different property type. + + + If you request both public and nonpublic properties, every public property is preferred + over every nonpublic property. It would violate the principle of least surprise for a + derived class’s implementation detail to be chosen over the public API for a type. + + + + + + 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + The TestResult class represents the result of a test. + + + + + Error message for when child tests have errors + + + + + Error message for when child tests have warnings + + + + + Error message for when child tests are ignored + + + + + The minimum duration for tests + + + + + Aggregate assertion count + + + + + Construct a test result given a Test + + The test to be used + + + + Gets the test with which this result is associated. + + + + + Gets the ResultState of the test result, which + indicates the success or failure of the test. + + + + + Gets the name of the test result + + + + + Gets the full name of the test result + + + + + Gets or sets the elapsed time for running the test in seconds + + + + + Gets or sets the time the test started running. + + + + + Gets or sets the time the test finished running. + + + + + Adds a test attachment to the test result + + The TestAttachment object to attach + + + + Gets the collection of files attached to the test + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Gets a TextWriter, which will write output to be included in the result. + + + + + Gets any text output written to this result. + + + + + Gets a list of assertion results associated with the test. + + + + + Returns the Xml representation of the result. + + If true, descendant results are included + An XmlNode representing the result + + + + Adds the XML representation of the result as a child of the + supplied parent node.. + + The parent node. + If true, descendant results are included + + + + + Gets a count of pending failures (from Multiple Assert) + + + + + Gets the worst assertion status (highest enum) in all the assertion results + + + + + Set the result of the test + + The ResultState to use in the result + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + + + + Set the result of the test + + The ResultState to use in the result + A message associated with the result state + Stack trace giving the location of the command + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + + + + Set the test result based on the type of exception thrown + + The exception that was thrown + The FailureSite to use in the result + + + + RecordTearDownException appends the message and 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 + + + + Determine result after test has run to completion. + + + + + Record an assertion result + + + + + Record an assertion result + + + + + Record an assertion result + + + + + 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. + + + + Adds an attachments element to a node and returns it. + + The target node. + The new attachments element. + + + + Creates a failure message incorporating failures + from a Multiple Assert block for use by runners + that don't know about AssertionResults. + + Message as a string + + + + 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 passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + Indicates whether this result has any child results. + + + + + Gets the collection of child results. + + + + + Adds a child result to this result, setting this result's + ResultState to Failure if the child result failed. + + The result to be added + + + + StackFilter class is used to remove internal NUnit + entries from a stack trace so that the resulting + trace provides better information about the test. + + + + + Single instance of our default filter + + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + Regex pattern used to delete lines from the bottom of the stack + + + + Construct a stack filter instance + + Regex pattern used to delete lines from the top of the stack + + + + Construct a stack filter instance + + + + + Filters a raw stack trace and returns the result. + + The original stack trace + A filtered stack trace + + + + Provides methods to support legacy string comparison methods. + + + + + Compares two strings for equality, ignoring case if requested. + + The first string. + The second string.. + if set to 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. + + + + Provides methods to support consistent checking for constaints methods. + + + + + Requires that the provided object is actually of the type required. + + The object to verify. + Name of the parameter as passed into the checking method. + + If and can be null, returns null rather than throwing when is null. + If cannot be null, this parameter is ignored. + The type to require. + + + + The TestCaseParameters class encapsulates method arguments and + other selected parameters needed for constructing + a parameterized test case. + + + + + The expected result to be returned + + + + + Default Constructor creates an empty parameter set + + + + + Construct a non-runnable ParameterSet, specifying + the provider exception that made it invalid. + + + + + Construct a parameter set with a list of arguments + + + + + + Construct a ParameterSet from an object implementing ITestCaseData + + + + + + The expected result of the test, which + must match the method return type. + + + + + Gets a value indicating whether an expected result was specified. + + + + + TestCaseTimeoutException is thrown when a test running directly + on a TestWorker thread is cancelled due to timeout. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner. + + + + Helper class used to save and restore certain static or + singleton settings in the environment that affect tests + or which might be changed by the user tests. + + + + + Link to a prior saved context + + + + + Indicates that a stop has been requested + + + + + The event listener currently receiving notifications + + + + + The number of assertions for the current test + + + + + The current culture + + + + + The current UI culture + + + + + The current test result + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + An existing instance of TestExecutionContext. + + + + Gets and sets the current context. + + + + + Gets or sets the current test + + + + + The time the current test started execution + + + + + The time the current test started in Ticks + + + + + Gets or sets the current test result + + + + + Gets a TextWriter that will send output to the current test result. + + + + + The current test object - that is the user fixture + object on which tests are being executed. + + + + + Get or set indicator that run should stop on the first error + + + + + Gets an enum indicating whether a stop has been requested. + + + + + The current test event listener + + + + + The current WorkItemDispatcher. Made public for + use by nunitlite.tests + + + + + The ParallelScope to be used by tests running in this context. + For builds with out the parallel feature, it has no effect. + + + + + Default tolerance value used for floating point equality + when no other tolerance is specified. + + + + + Gets the RandomGenerator specific to this Test + + + + + Gets the assert count. + + The assert count. + + + + The current nesting level of multiple assert blocks + + + + + Gets or sets the test case timeout value + + + + + Gets a list of ITestActions set by upstream tests + + + + + Saves or restores the CurrentCulture + + + + + Saves or restores the CurrentUICulture + + + + + The current head of the ValueFormatter chain, copied from MsgUtils.ValueFormatter + + + + + If true, all tests must run on the same thread. No new thread may be spawned. + + + + + 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 + + + + An IsolatedContext is used when running code + that may effect the current result in ways that + should not impact the final result of the test. + A new TestExecutionContext is created with an + initially clear result, which is discarded on + exiting the context. + + + using (new TestExecutionContext.IsolatedContext()) + { + // Code that should not impact the result + } + + + + + Save the original current TestExecutionContext and + make a new isolated context current. + + + + + Restore the original TestExecutionContext. + + + + + An AdhocTestExecutionContext is created whenever a context is needed + but not available in CurrentContext. This happens when tests are run + on an adoc basis or Asserts are used outside of tests. + + + + + Construct an AdhocTestExecutionContext, which is used + whenever the current TestExecutionContext is found to be null. + + + + + Enumeration indicating whether the tests are + running normally or being cancelled. + + + + + Running normally with no stop requested + + + + + A graceful stop has been requested + + + + + A forced stop has been requested + + + + + Interface to be implemented by filters applied to tests. + The filter applies when running the test, after it has been + loaded, since this is the only time an ITest exists. + + + + + Unique Empty filter. + + + + + Indicates whether this is the EmptyFilter + + + + + Indicates whether this is a top-level filter, + not contained in any other filter. + + + + + Determine if a particular test passes the filter criteria. The default + implementation checks the test itself, its parents and any descendants. + + Derived classes may override this method or any of the Match methods + to change the behavior of the filter. + + The test to which the filter is applied + True if the test passes the filter, otherwise false + + + + Determine if a test matches the filter explicitly. 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 explicitly, otherwise false + + + + Determine whether the test itself matches the filter criteria, without + examining either parents or descendants. This is overridden by each + different type of filter to perform the necessary tests. + + The test to which the filter is applied + True if the filter matches the any parent of the test + + + + Determine whether any ancestor of the test matches the filter criteria + + The test to which the filter is applied + True if the filter matches the an ancestor of the test + + + + Determine whether any descendant of the test matches the filter criteria. + + The test to be matched + True if at least one descendant matches the filter criteria + + + + Create a TestFilter instance from an xml representation. + + + + + Create a TestFilter from 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + Construct a new TestListener - private so it may not be used. + + + + + Get a listener that does nothing + + + + + TestNameGenerator is able to create test names according to + a coded pattern. + + + + + Default pattern used to generate names + + + + + Construct a TestNameGenerator + + + + + Construct a TestNameGenerator + + The pattern used by this generator. + + + + Get the display name for a TestMethod and 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 + + + + 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 + + + + Called when a test produces output for immediate display + + A TestOutput object containing the text to display + + + + 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. + + + + + Used to cache the declaring type for this MethodInfo + + + + + Method property backing field + + + + + Constructs a test given its name + + The name of the test + + + + Constructs a test given the path through the + test hierarchy to its parent and a name. + + The parent tests full name + The name of the test + + + + 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 where this test was declared. + Returns null if the test is not associated with a class. + + + + + Gets the name of the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + The arguments to use in creating the test or empty array if none required. + + + + + Gets the TypeInfo of the fixture used in running this test + or null if no fixture type is associated with it. + + + + + Gets a MethodInfo for the method implementing this test. + Returns null if the test is not implemented as a method. + + + + + Whether or not the test should be run + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Gets a string representing the type of test. Used as an attribute + value in the XML representation of a test and has no other + function in the framework. + + + + + Gets a count of test cases represented by + or contained under this test. + + + + + Gets the properties for this test + + + + + Returns true if this is a TestSuite + + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the parent as a Test object. + Used by the core to set the parent. + + + + + Gets this test's child tests + + A list of child tests + + + + Gets or sets a fixture object for running this test. + + + + + Static prefix used for ids in this AppDomain. + Set by FrameworkController. + + + + + Gets or Sets the Int value representing the seed for the RandomGenerator + + + + + + The SetUp methods. + + + + + The teardown methods + + + + + Creates a TestResult for this test. + + A TestResult suitable for this type of test. + + + + Modify a newly constructed test by applying any of NUnit's common + attributes, based on a supplied 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 deriving from MemberInfo + + + + 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 deriving from MemberInfo + + + + Mark the test as Invalid (not runnable) specifying a reason + + The reason the test is not runnable + + + + Get custom attributes applied to a test + + + + + Add standard attributes and members to a test node. + + + + + + + Returns the Xml representation of the test + + If true, include child tests recursively + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Compares 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. + + + + Copy-constructor style to create a filtered copy of the test assemblies + test cases + + + + + + + Gets the Assembly represented by this instance. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Get custom attributes specified on the assembly + + + + + 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. + Arguments used to instantiate the test fixture, or null if none used + + + + 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 + + + + The arguments to use in executing the test method, or empty array if none are provided. + + + + + Overridden to return a TestCaseResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Returns a TNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Gets this test's child tests + + A list of child tests + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns the name of the method + + + + + TestSuite represents a composite test, which contains other tests. + + + + + Our collection of child tests + + + + + Initializes a new instance of the class. + + The name of the suite. + + + + Initializes a new instance of the class. + + Name of the parent suite. + The name of the suite. + + + + Initializes a new instance of the class. + + Type of the fixture. + Arguments used to instantiate the test fixture, or null if none used. + + + + Initializes a new instance of the class. + + Type of the fixture. + + + + Copy constructor style to create a filtered copy of the given test suite + + Test Suite to copy + Filter to be applied + + + + 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, or empty array if none are provided. + + + + + Set to true to suppress sorting this suite's contents + + + + + OneTimeSetUp methods for this suite + + + + + OneTimeTearDown methods for this suite + + + + + Overridden to return a TestSuiteResult. + + A TestResult for this test. + + + + Gets a bool indicating whether the current test + has any descendant tests. + + + + + Gets the name used for the top-level element in the + XML representation of this test + + + + + Returns an XmlNode representing the current result after + adding it as a child of the supplied parent node. + + The parent node. + If true, descendant results are included + + + + + Check that setup and teardown methods marked by certain attributes + meet NUnit's requirements and mark the tests not runnable otherwise. + + A list of methodinfos to check + + + + 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. + + + + + Return the interfaces implemented by a Type. + + The Type to be examined. + An array of Types for the interfaces. + + + + Used for resolving the type difference between objects. + + + + + Gets the shortened type name difference between and . + + The expected object. + The actual object. + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Gets the shortened type name difference between and . + + The expected object . + The actual object . + Output of the unique type name for the expected object. + Output of the unique type name for actual object. + + + + Obtain the shortened generic template parameters of the given and , + if they are generic. + + The expected . + The actual . + Shortened generic parameters of the expected . + Shortened generic parameters of the actual . + + + + Obtain a shortened name of the given . + + + + + Shorten the given names by only including the relevant differing namespaces/types, if they differ. + + The expected . + The actual . + The shortened expected name. + The shortened actual name. + + + + Returns whether or not the is generic. + + + + + Returns the fully qualified generic name of a given . + + + + + Reconstruct a generic type name using the provided generic type name, and a + of the template parameters. + + The name of the generic type, including the number of template parameters expected. + A of names of the template parameters of the provided generic type. + + + + Obtain the shortened generic names of the given expected and actual s. + + The expected . + The actual . + The shortened expected generic name. + The shortened actual generic name. + + + + The TypeWrapper class wraps a Type so it may be used in + a platform-independent manner. + + + + + Construct a TypeWrapper for a specified Type. + + + + + Gets the underlying Type on which this TypeWrapper is based. + + + + + Gets the base type of this type as an ITypeInfo + + + + + Gets the Name of the Type + + + + + Gets the FullName of the Type + + + + + Gets the assembly in which the type is declared + + + + + Gets the namespace of the Type + + + + + Gets a value indicating whether the type is abstract. + + + + + Gets a value indicating whether the Type is a generic Type + + + + + Returns true if the Type wrapped is T + + + + + Gets a value indicating whether the Type has generic parameters that have not been replaced by specific Types. + + + + + Gets a value indicating whether the Type is a generic Type definition + + + + + Gets a value indicating whether the type is sealed. + + + + + Gets a value indicating whether this type represents a static class. + + + + + Get the display name for this type + + + + + Get the display name for an object of this type, constructed with the specified args. + + + + + Returns a new ITypeInfo representing an instance of this generic Type using the supplied Type arguments + + + + + Returns a Type representing a generic type definition from which this Type can be constructed. + + + + + Returns an array of custom attributes of the specified type applied to this type + + + + + Returns a value indicating whether the type has an attribute of the specified type. + + + + + + + + Returns a flag indicating whether this type has a method with an attribute of the specified type. + + + + + + + Returns an array of IMethodInfos for methods of this Type + that match the specified flags. + + + + + Gets the public constructor taking the specified argument Types + + + + + Returns a value indicating whether this Type has a public constructor taking the specified argument Types. + + + + + Construct an object of this Type, using the specified arguments. + + + + + Override ToString() so that error messages in NUnit's own tests make sense + + + + + 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 two items for equality + + + + + Returns a constraint that tests that two references are the same object + + + + + Returns a constraint that tests whether the + actual value is greater than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is greater than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the + actual value is less than or equal to the supplied argument + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual + value is of the exact type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is of the type supplied as an argument or a derived type. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable from the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is assignable to the type supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a collection containing the same elements as the + collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a subset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether the actual value + is a superset of the collection supplied as an argument. + + + + + Returns a constraint that tests whether a collection is ordered + + + + + Returns a constraint that tests whether the path provided + is the same as an expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is a subpath of the expected path after canonicalization. + + + + + Returns a constraint that tests whether the path provided + is the same path or under an expected path after canonicalization. + + + + + Returns a constraint that tests whether the actual value falls + inclusively within a specified range. + + Inclusive beginning of the range. + Inclusive end of the range. + + + + + When implemented by an attribute, this interface implemented to provide actions to execute before and after tests. + + + + + Executed before each test is run + + The test that is going to be run. + + + + Executed after each test is run + + The test that has just been run. + + + + Provides the target for the action attribute + + The target for the action attribute + + + + The Iz class is a synonym for Is intended for use in VB, + which regards Is as a keyword. + + + + + The List class is a helper class with properties and methods + that supply a number of constraints used with lists and collections. + + + + + List.Map returns a ListMapper, which can be used to map + the original collection to another collection. + + + + + + + ListMapper is used to transform a collection used as an actual argument + producing another collection to be used in the assertion. + + + + + Construct a ListMapper based on a collection + + The collection to be transformed + + + + Produces a collection containing all the values of a property + + The collection of property values + + + + + Basic Asserts on strings. + + + + + DO NOT USE! Use StringAssert.AreEqualIgnoringCase(...) or Assert.AreEqual(...) instead. + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + + + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string is not found within another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string is found within another string. + + The expected string + The string to be examined + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string starts with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not start with another string. + + The expected string + The string to be examined + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string ends with another string. + + The expected string + The string to be examined + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not end with another string. + + The expected string + The string to be examined + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are equal, without regard to case. + + The expected string + The actual string + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that two strings are not equal, without regard to case. + + The expected string + The actual string + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string matches an expected regular expression pattern. + + The regex pattern to be matched + The actual string + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + The message to display in case of failure + Arguments used in formatting the message + + + + Asserts that a string does not match an expected regular expression pattern. + + The regex pattern to be used + The actual string + + + + The TestCaseData class represents a set of arguments + and other parameter info to be used for a parameterized + test case. It is derived from TestCaseParameters and adds a + fluent syntax for use in initializing the test case. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the expected result for the test + + The expected result + A modified TestCaseData + + + + Sets the name of the test case + + The modified TestCaseData instance + + + + Sets the description for the test case + being constructed. + + The description. + The modified TestCaseData instance. + + + + Applies a category to the test + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Applies a named property to the test + + + + + + + + Marks the test case as explicit. + + + + + Marks the test case as explicit, specifying the reason. + + + + + Ignores this TestCase, specifying the reason. + + The reason. + + + + + Provide the context information of the current test. + This is an adapter for the internal ExecutionContext + class, hiding the internals from the user test. + + + + + Construct a TestContext for an ExecutionContext + + The ExecutionContext to adapt + + + + Get the current test context. This is created + as needed. The user may save the context for + use within a test, but it should not be used + outside the test for which it is created. + + + + + Gets a TextWriter that will send output to the current test result. + + + + + Gets a TextWriter that will send output directly to Console.Error + + + + + Gets a TextWriter for use in displaying immediate progress messages + + + + + TestParameters object holds parameters for the test run, if any are specified + + + + + Static DefaultWorkDirectory is now used as the source + of the public instance property WorkDirectory. This is + a bit odd but necessary to avoid breaking user tests. + + + + + Get a representation of the current test. + + + + + Gets a Representation of the TestResult for the current test. + + + + + Gets the directory containing the current test assembly. + + + + + Gets the directory to be used for outputting files created + by this test run. + + + + + Gets the random generator. + + + The random generator. + + + + + Gets the number of assertions executed + up to this point in the test. + + + + Write the string representation of a boolean value to the current result + + + Write a char to the current result + + + Write a char array to the current result + + + Write the string representation of a double to the current result + + + Write the string representation of an Int32 value to the current result + + + Write the string representation of an Int64 value to the current result + + + Write the string representation of a decimal value to the current result + + + Write the string representation of an object to the current result + + + Write the string representation of a Single value to the current result + + + Write a string to the current result + + + Write the string representation of a UInt32 value to the current result + + + Write the string representation of a UInt64 value to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a formatted string to the current result + + + Write a line terminator to the current result + + + Write the string representation of a boolean value to the current result followed by a line terminator + + + Write a char to the current result followed by a line terminator + + + Write a char array to the current result followed by a line terminator + + + Write the string representation of a double to the current result followed by a line terminator + + + Write the string representation of an Int32 value to the current result followed by a line terminator + + + Write the string representation of an Int64 value to the current result followed by a line terminator + + + Write the string representation of a decimal value to the current result followed by a line terminator + + + Write the string representation of an object to the current result followed by a line terminator + + + Write the string representation of a Single value to the current result followed by a line terminator + + + Write a string to the current result followed by a line terminator + + + Write the string representation of a UInt32 value to the current result followed by a line terminator + + + Write the string representation of a UInt64 value to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + Write a formatted string to the current result followed by a line terminator + + + + This method adds the a new ValueFormatterFactory to the + chain of responsibility used for formatting values in messages. + The scope of the change is the current TestContext. + + The factory delegate + + + + Attach a file to the current test result + + Relative or absolute file path to attachment + Optional description of attachment + + + + This method provides a simplified way to add a ValueFormatter + delegate to the chain of responsibility, creating the factory + delegate internally. It is useful when the Type of the object + is the only criterion for selection of the formatter, since + it can be used without getting involved with a compound function. + + The type supported by this formatter + The ValueFormatter delegate + + + + TestAdapter adapts a Test for consumption by + the user test code. + + + + + Construct a TestAdapter for a Test + + The Test to be adapted + + + + Gets the unique Id of a test + + + + + The name of the test, which may or may not be + the same as the method name. + + + + + The name of the method representing the test. + + + + + The FullName of the test + + + + + The ClassName of the test + + + + + The properties of the test. + + + + + The arguments to use in creating the test or empty array if none are required. + + + + + ResultAdapter adapts a TestResult for consumption by + the user test code. + + + + + Construct a ResultAdapter for a TestResult + + The TestResult to be adapted + + + + Gets a ResultState representing the outcome of the test + up to this point in its execution. + + + + + Gets a list of the assertion results generated + up to this point in the test. + + + + + Gets the message associated with a test + failure or with not running the test + + + + + Gets any 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 had warnings + when running the test and all its children. + + + + + Gets the number of test cases that passed + when running the test and all its children. + + + + + Gets the number of test cases that were skipped + when running the test and all its children. + + + + + Gets the number of test cases that were inconclusive + when running the test and all its children. + + + + + The TestFixtureData class represents a set of arguments + and other parameter info to be used for a parameterized + fixture. It is derived from TestFixtureParameters and adds a + fluent syntax for use in initializing the fixture. + + + + + Initializes a new instance of the class. + + The arguments. + + + + Initializes a new instance of the class. + + The argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + + + + Initializes a new instance of the class. + + The first argument. + The second argument. + The third argument. + + + + Sets the name of the test fixture + + The modified TestFixtureData instance + + + + Marks the test fixture as explicit. + + + + + Marks the test fixture as explicit, specifying the reason. + + + + + Ignores this TestFixture, specifying the reason. + + The reason. + + + + + TestParameters class holds any named parameters supplied to the test run + + + + + Gets the number of test parameters + + + + + Gets a collection of the test parameter names + + + + + Gets a flag indicating whether a parameter with the specified name exists. + + Name of the parameter + True if it exists, otherwise false + + + + Indexer provides access to the internal dictionary + + Name of the parameter + Value of the parameter or null if not present + + + + Get method is a simple alternative to the indexer + + Name of the parameter + Value of the parameter or null if not present + + + + Get the value of a parameter or a default string + + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Get the value of a parameter or return a default + + The return Type + Name of the parameter + Default value of the parameter + Value of the parameter or default value if not present + + + + Adds a parameter to the list + + Name of the parameter + Value of the parameter + + + + Helper class with properties and methods that supply + constraints that operate on exceptions. + + + + + Creates a constraint specifying an expected exception + + + + + Creates a constraint specifying an exception with a given InnerException + + + + + Creates a constraint specifying an expected TargetInvocationException + + + + + Creates a constraint specifying an expected ArgumentException + + + + + Creates a constraint specifying an expected ArgumentNullException + + + + + Creates a constraint specifying an expected InvalidOperationException + + + + + Creates a constraint specifying that no exception is thrown + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the exact type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Creates a constraint specifying the type of exception expected + + + + + Provides static methods to express conditions + that must be met for the test to succeed. If + any test fails, a warning is issued. + + + + + DO NOT USE! + The Equals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + Not applicable + + + + DO NOT USE! + The ReferenceEquals method throws an InvalidOperationException. This is done + to make sure there is no mistake by calling this function. + + The left object. + The right object. + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + + + + Asserts that a condition is true. If the condition is false the method throws + an . + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Asserts that the code represented by a delegate throws an exception + that satisfies the constraint provided. + + A TestDelegate to be executed + A ThrowsConstraint used in the test + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on success. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning on failure. + + The Type being compared. + An ActualValueDelegate returning the value to be tested + A Constraint expression to be applied + A function to build the message included with the Exception + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + The message to display if the condition is false + Arguments to be used in formatting the message + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + + + + Asserts that a condition is true. If the condition is false a warning is issued. + + The evaluated condition + A function to build the message included with the Exception + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + The message to display if the condition is true + Arguments to be used in formatting the message + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + + + + Asserts that a condition is false. If the condition is true a warning is issued. + + A lambda that returns a Boolean + A function to build the message included with the Exception + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint to be applied + + + + Apply a constraint to an actual value, succeeding if the constraint + fails and issuing a warning if it succeeds. + + The Type being compared. + The actual value to test + A Constraint expression to be applied + The message that will be displayed on failure + Arguments to be used in formatting the message + + + + Apply a constraint to an actual value, succeeding if the constraint + is satisfied and issuing a warning on failure. + + The Type being compared. + The actual value to test + A Constraint to be applied + A function to build the message included with the Exception + + + + FrameworkPackageSettings is a static class containing constant values that + are used as keys in setting up a TestPackage. These values are used in + the framework, and set in the runner. Setting values may be a string, int or bool. + + + + + Flag (bool) indicating whether tests are being debugged. + + + + + Flag (bool) indicating whether to pause execution of tests to allow + the user to attach a debugger. + + + + + The InternalTraceLevel for this run. Values are: "Default", + "Off", "Error", "Warning", "Info", "Debug", "Verbose". + Default is "Off". "Debug" and "Verbose" are synonyms. + + + + + Full path of the directory to be used for work and result files. + This path is provided to tests by the framework TestContext. + + + + + Integer value in milliseconds for the default timeout value + for test cases. If not specified, there is no timeout except + as specified by attributes on the tests themselves. + + + + + A TextWriter to which the internal trace will be sent. + + + + + A list of tests to be loaded. + + + + + The number of test threads to run for the assembly. If set to + 1, a single queue is used. If set to 0, tests are executed + directly, without queuing. + + + + + The random seed to be used for this assembly. If specified + as the value reported from a prior run, the framework should + generate identical random values for tests as were used for + that run, provided that no change has been made to the test + assembly. Default is a random value itself. + + + + + If true, execution stops after the first error or failure. + + + + + If true, use of the event queue is suppressed and test events are synchronous. + + + + + The default naming pattern used in generating test names + + + + + Parameters to be passed on to the tests, serialized to a single string which needs parsing. Obsoleted by ; kept for backward compatibility. + + + + + Parameters to be passed on to the tests, already parsed into an IDictionary<string, string>. Replaces . + + + + + Provides a platform-independent methods for getting attributes + for use by AttributeConstraint and AttributeExistsConstraint. + + + + + Gets the custom attributes from the given object. + + .NET Standard 1.3 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. + + + + Specifies flags that control binding and the way in which the search for members + and types is conducted by reflection. + + + + + Specifies no binding flag. + + + + + Specifies that only members declared at the level of the supplied type's hierarchy + should be considered. Inherited members are not considered. + + + + + Specifies that instance members are to be included in the search. + + + + + Specifies that static members are to be included in the search. + + + + + Specifies that public members are to be included in the search. + + + + + Specifies that non-public members are to be included in the search. + + + + + Specifies that public and protected static members up the hierarchy should be + returned. Private static members in inherited classes are not returned. Static + members include fields, methods, events, and properties. Nested types are not + returned. + + + + + A MarshalByRefObject that lives forever + + + + + Provides NUnit specific extensions to aid in Reflection + across multiple frameworks + + + This version of the class allows direct calls on Type on + those platforms that would normally require use of + GetTypeInfo(). + + + + + Returns an array of generic arguments for the give type + + + + + + + Gets the constructor with the given parameter types + + + + + + + + Gets the constructors for a type + + + + + + + + + + + + + + + + + + + + + + + Gets declared or inherited interfaces on this type + + + + + + + Gets the member on a given type by name. BindingFlags ARE IGNORED. + + + + + + + + + Gets all members on a given type. BindingFlags ARE IGNORED. + + + + + + + + Gets field of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + Gets property of the given name on the type + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets the method with the given name and parameter list + + + + + + + + + Gets public methods on the given type + + + + + + + Gets methods on a type + + + + + + + + Extensions to the various MemberInfo derived classes + + + + + Returns the get method for the given property + + + + + + + + Returns an array of custom attributes of the specified type applied to this member + + + + + Returns an array of custom attributes of the specified type applied to this parameter + + + + + Returns an array of custom attributes of the specified type applied to this assembly + + + + + Extensions for Assembly that are not available in .NET Standard + + + + + DNX does not have a version of GetCustomAttributes on Assembly that takes an inherit + parameter since it doesn't make sense on Assemblies. This version just ignores the + inherit parameter. + + The assembly + The type of attribute you are looking for + Ignored + + + + + Gets the types in a given assembly + + + + + + + Type extensions that apply to all target frameworks + + + + + Determines if the given array is castable/matches the array. + + + + + + + + Determines if one type can be implicitly converted from another + + + + + + + + This class is used as a flag when we get a parameter list for a method/constructor, but + we do not know one of the types because null was passed in. + + + + + A shim of the .NET interface for platforms that do not support it. + Used to indicate that a control can be the target of a callback event on the server. + + + + + Processes a callback event that targets a control. + + + + + + Returns the results of a callback event that targets a control. + + + + + diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/CHANGES.txt b/.Net/packages/NUnit.ConsoleRunner.3.7.0/CHANGES.txt new file mode 100644 index 0000000..39cc0fb --- /dev/null +++ b/.Net/packages/NUnit.ConsoleRunner.3.7.0/CHANGES.txt @@ -0,0 +1,1289 @@ +NUnit 3.7 - July 13, 2017 + +Engine + + * Creates a .NET Standard version of the engine for use in the Visual Studio Adapter + * Fixes several issues that caused the runner to exit with a SocketException + +Console + + * Created Chocolatey packages for the console runner + +Issues Resolved + + * 10 Create a .NET Standard version of the Engine + * 11 insufficient info on driver reflection exception + * 12 Upgrade Cake build to latest version + * 24 Update --labels switch with option to show real-time pass/fail results in console runner + * 31 Nunit 3.4.1 NUnit.Engine.Runners + * 72 TestContext.Progress.Write writes new line + * 82 Remove unused repository paths from repositories.config + * 99 Remove unused --verbose and --full command line options + * 126 Resolve differences between NUnit Console and NUnitLite implementations of @filename + * 162 Add namespace keyword to Test Selection Language + * 171 Socket Exception when stopping Remote Agent + * 172 Limit Language level to C#6 + * 193 Settings are stored with invariant culture but retrieved with CurrentCulture + * 194 Better logging or error handling in SettingsStore.SaveSettings + * 196 Allow comments in @FILE files + * 200 Remove obsolete warnings from build script + * 206 Remove reference to removed noxml option + * 207 Create Chocolatey package(s) for the console + * 208 Explore flags test update + * 213 Master build failing after merging .NET Standard Engine + * 216 Compiling mock-assembly in Visual Studio 2017 fails + * 217 NUnit .NET Standard NuGet package missing some values + * 219 Runtime.Remoting.RemotingException in NUnit.Engine.Runners.ProcessRunner.Dispose + * 221 Added missing nuget package info + * 222 Improve missing agent error message + * 225 SocketException thrown by nunit3-console.exe --explore option + * 248 Agent TestEngine contains duplicate services + * 254 Correct misprint ".con" -> ".com" + * 252 Console crashes when specifying both format and transform for result + +NUnit 3.6.1 - March 6, 2017 + +Engine + + * This hotfix release addresses a race condition in the Engine that caused + tests to intermittently fail. + +Issues Resolved + + * 168 Intermittent errors while running tests after updating to 3.6 + +NUnit 3.6 - January 14, 2017 + +Console Runner + + * Added command line option --skipnontestassemblies to skip assemblies that do + not contain tests without raising an error and to skip assemblies that contain + the NUnit.Framework.NonTestAssemblyAttribute. + * Messages from the new Multiple Assert blocks will be displayed individually + * Warnings from the new Warn.If, Warn.Unless and Assert.Warn are now displayed + +Engine + + * NUnit agents now monitor the running engine process and will terminate themselves + if the parent runner process is killed or dies + +Issues Resolved + + * 16 NUnit Engine Tests fail if not run from test directory + * 18 Invalid file type is shown in XML as type="Assembly" + * 23 In nunit3-console you cannot pass parameters containing ';' because they always get split + * 37 NUnit 3 console should produce xml events for ITestEventListener which contain + unique id in the scope of all test agents for NUnit 2 tests + * 58 System.Configuration.ConfigurationErrorsException thrown in multiple domain mode. + * 62 NUnit3 Fails on DLL with no Tests, Unlike NUnit2 + * 100 Class NUnit.Engine.Services.ResultWriters.Tests.SchemaValidator is never used + * 101 Method NUnit.Options.OptionSet.Unprocessed always returns "false" + * 104 Type of variable enumerated in 'foreach' is not guaranteed to be castable + * 110 Writability check could give a friendlier message. + * 113 Add task descriptions to Build.cake + * 127 Modify console runner to display multiple assert information + * 128 Terminate agent if main process has terminated + * 133 NUnit downloadable packages zip file naming is confusing and non-intuitive + * 136 Handle early termination of multiple assert block + * 138 Report Warnings in console runner + * 145 MasterTestRunner.RunAsync no longer provides start-run and test-run events + * 151 Unexpected behaviour from --framework flag + * 153 Remove some settings used by the engine + * 156 Use high-quality icon for nuspecs + * 157 Fix Detection of invalid framework when --inprocess + * 159 Update extension versions in the NuSpec Files + +NUnit 3.5 - October 11, 2016 + +This is the first version of NUnit where the framework will be released separately from the +console runner, engine and other extensions. From this point forward, the NUnit console and engine will be +released on its own schedule that is not bound to that of any other NUnit project and version numbers +may diverge over time. + +This is also the first release where the NUnit Framework will not be included in the installer. Only +the console runner, engine and extensions will be available as an MSI installer. + +Console Runner + + * When running multiple assemblies in their own projects with `--agents` set to a number that is + lower than the number of assemblies, the number of concurrent processes is limited to that number. + Previously, all processes were created at the start of the run. + +Engine + + * All of our extensions have been moved to separate repositories and are now built and + distributed separately. This includes the NUnit V2 Driver, NUnit V2 Result Writer, + NUnit Project Loader and VS Project Loader. The Teamcity extension was moved to its + own repository previously. + +* Newer versions of Mono are now detected and used under Windows when requested. + +* It is now possible to write a custom framework driver extension for NUnit 3, which will + be used instead of the built-in driver. + +Issues Resolved Prior to Split (These are in the nunit repository) + + * 1389 specifying solution and --agents is not working with nunit3-console + * 1595 Separate installer project + * 1596 Eliminate code sharing across projects to be split + * 1598 Split framework and console/engine into separate projects + * 1600 Split Engine Extensions into separarate projects + * 1610 Refactor dependencies in build.cake + * 1621 Remove console and command-line option files from common + * 1641 Create OSX CI Build on Travis + * 1677 Console help should indicate extension needed to use --teamcity + * 1687 Create nunit.engine.api NuGet package + * 1702 Create separate repo for teamcity event listener extension + * 1716 Move installer to new repository + * 1717 Change suffix for master builds + * 1719 Restore teamcity extension to NUnit.Console and NUnit.Runners packages + * 1723 Remove Cake target TestAll + * 1727 V2 Framework Driver does not include class or method name in XML + * 1732 NullReferenceException when using either --inprocess or --domain=Multiple options + * 1739 Create separate copies of MockAssembly for framework, engine and extensions + * 1741 --domain=None does not work + * 1776 Logger in DefaultTestAssemblyBuilder is retrieved before InternalTrace is initialized + * 1800 Remove Console/Engine projects from nunit.linux.sln + +Issues Resolved After Split (These are in the nunit-console repository) + + * 2 Split Engine Extensions into separate projects + * 30 Error message "File type is not supported" when uses .nunit configuration file + * 34 Mono detection on Windows broken + * 36 Console runner spawns too many agents + * 43 Agent's process stays in memory when it was failed to unload appdomain + * 47 Move V2 framework driver extension to its own repo + * 48 Move V2 XML result writer to its own repo + * 49 Move NUnit project loader to its own repo + * 50 Move VS project loader to its own repo + * 63 --encoding option for Console stdout + * 67 Update text of NUnit.ConsoleRunner NuGet package + * 70 Allow custom framework drivers to run before NUnit3DriverFactory + * 88 The --labels:All option displays at the wrong time + +NUnit 3.4.1 - June 30, 2016 + +Console Runner + + * A new option, --list-extensions, will display all the engine extensions that + have been installed by the engine. + +Issues Resolved + + * 1623 NUnit 3.4 is not integrated with TeamCity + * 1626 NUnit.ConsoleRunner is not picking up NUnit.Extension.NUnitV2ResultWriter + * 1628 Agent's process stays in memory when it was failed to unload AppDomain + * 1635 Console option to list loaded extensions + +NUnit 3.4 - June 25, 2016 + +Framework + + * Improvements in comparing equality using IEquatable + * Test case names will only be truncated if the runner requests it or it is overridden on the command line + with the --test-name-format option + * The .NET 2.0 version of the framework now includes LINQ. If your tests target .NET 2.0, you can now use + LINQ queries in your tests + +Engine + + * The TeamCity event listener has been separated out into an engine extension + * Fixed numerous issues around thread safety of parallel test runs + * Additional fixes to reduce memory usage + * Fixes for Mono 4.4 + +Console Runner + + * There is a new --params command line option that allows you to pass parameters to your tests + which can be retrieved using TestContext.Parameters + * Another new command line option --loaduserprofile causes the User Profile to be loaded into the + NUnit Agent process. + +Issues Resolved + + * 329 (CLI) Runner does not report AppDomain unloading timeout + * 720 Need a way to get test-specific command-line arguments at runtime + * 1010 Need to control engine use of extensions + * 1139 Nunit3 console doesn't show test output continously + * 1225 The --teamcity option should really be an extension + * 1241 Make TestDirectory accessible when TestCaseSource attributes are evaluated + * 1366 Classname for inherited test is not correct + * 1371 Support `dotnet test` in .NET CLI and .NET Core + * 1379 Console returns 0 for invalid fixtures + * 1422 Include TestListWithEmptyLine.tst in ZIP Package + * 1423 SingleThreaded attribute should raise an error if a thread is required + * 1425 Lazy initialization of OutWriter in TestResult is not thread safe + * 1427 Engine extensions load old packages + * 1430 TestObjects are retained for lifetime of test run, causing high memory usage + * 1432 NUnit hangs when reporting to TeamCity + * 1434 TestResult class needs to be thread-safe + * 1435 Parallel queue creation needs to be thread-safe + * 1436 CurrentFramework and Current Platform need to be more thread-safe + * 1439 EqualConstraint does Not use Equals Override on the Expected Object + * 1441 Add Linq for use internally in .NET 2.0 code + * 1446 TestOrderAttributeTests is not public + * 1450 Silverlight detection doesn't work when building on 32-bit OS + * 1457 Set the 2.0 build to ignore missing xml dcoumentation + * 1463 Should TestResult.AssertCount have a public setter? + * 1464 TNode.EscapeInvalidXmlCharacters recreates Regex continually + * 1470 Make EventQueue and associated classes lock-less and thread safe + * 1476 Examine need for "synchronous" events in event queue + * 1481 TestCase with generic return type causes NullReferenceException + * 1483 Remoting exceptions during test execution + * 1484 Comparing Equality using IEquatable Should Use Most Specific Method + * 1493 NUnit 2 test results report ParameterizedMethod but should be ParameterizedTest + * 1507 NullReferenceException when null arguments are used in TestFixtureAttribute + * 1513 Add new teamcity extension to packages + * 1518 NUnit does not send the "testStarted" TeamCity service message when exception was thrown from SetUp/OneTimeSetUp + * 1520 Detect Portable, Silverlight and Compact and give error message + * 1528 Use of Sleep(0) in NUnit + * 1543 Blank name attribute in nunit2-formatted XML result file test-run element + * 1547 Create separate assembly for System.Linq compatibility classes + * 1548 Invalid Exception when engine is in a 32-bit process + * 1549 Changing default behavior for generating test case names + * 1551 Path in default .addins file for ConsoleRunner package may not exist + * 1555 EndsWith calls in Constraint constructor can cause major perf issues + * 1560 Engine writes setting file unnecessarily + * 1573 Move Nunit.Portable.Agent to new Repo + * 1579 NUnit v3 dangerously overrides COMPLUS_Version environment variable + * 1582 Mono 4.4.0 Causes Test Failures + * 1593 Nunit Console Runner 3.2.1 and Mono 4.4 throws RemotingException + * 1597 Move Portable agent to its own repository + * 1605 TeamCity package has no pre-release suffix + * 1607 nunit.nuget.addins discovery pattern is wrong then restored through project.json + * 1617 Load user profile on test runners + +NUnit 3.2.1 - April 19, 2016 + +Framework + + * The output and error files are now thread safe when running tests in parallel + * Added a .NET 3.5 build of the framework preventing conflicts with the compatiblity classes in the 2.0 framework + * Added a SingleThreadedAttribute to be added to a TestFixture to indicate all child tests should run on the same thread + +Engine + + * Unless required, run all tests within a fixture on the same thread + * Added an EventListener extension point + * Reduced memory usage + +Console Runner + + * No longer probes for newer versions of the engine, instead uses the engine that is included with the console + +Issues Resolved + + * 332 Add CF to the Appveyor CI build + * 640 Keep CF Build (and other future builds) in Sync + * 773 Upgrade Travis CI from Legacy Infrastructure + * 1141 Explicit Tests get run when using --where with some filters + * 1161 NUnit3-Console should disallow the combination of --inprocess and --x86, giving an error message + * 1208 Apartment on assembly level broken + * 1231 Build may silently fail some tests + * 1247 Potential memory issue + * 1266 SetCultureAttribute does not work if set on assembly level + * 1302 Create EventListener ExtensionPoint for the Engine + * 1317 Getting CF framework unit tests running on CI build + * 1318 NUnit console runner fails with error code -100 + * 1327 TestCaseSource in NUnit 3 converts an argument declared as String[] to String + * 1329 Unable to build without Compact Framework + * 1333 Single Thread per Worker + * 1338 BUILDING.txt is outdated + * 1349 Collision on System.Func from nunit.framework with System.Core in .Net 3.5 (CS0433) + * 1352 Tests losing data setup on thread + * 1359 Compilation error in NUnitPortableDriverTests.cs + * 1383 Skip Silverlight build if SDK not installed + * 1386 Bug when using Assert.Equals() with types that explicitly implement IEquatable + * 1390 --testlist with file with blank first line causes IndexOutOfRangeException + * 1399 Fixed NullReference issue introduced by the fix for #681 + * 1405 ITestRunner.StopRun throws exception of type 'System.MissingMethodException' + * 1406 TextCapture is not threadsafe but is used to intercept calls that are expected to be threadsafe + * 1410 Make OutFile and ErrFile streamwriters synchronized + * 1413 Switch console to use a local engine + +NUnit 3.2 - March 5, 2016 + +Framework + + * Added an Order attribute that defines the order in which tests are run + * Added Assert.ThrowsAsync for testing if async methods throw an exception + * You can now compare unlike collections using Is.EquivalentTo().Using(...) + * Added the ability to add custom message formatters to MsgUtils + * TestCaseSourceAttribute now optionally takes an array of parameters that can be passed to the source method + * Added Is.Zero and Is.Not.Zero to the fluent syntax as a shorter option for Is.EqualTo(0) and Is.Not.EqualTo(0) + +Engine + + * Engine extensions can be installed via NuGet packages + +Issues Resolved + + * 170 Test Order Attribute + * 300 Create an NUnit Visual Studio Template + * 464 Async delegate assertions + * 532 Batch runner for Silverlight tests + * 533 Separate NUnitLite runner and autorunner + * 681 NUnit agent cannot resolve test dependency assemblies when mixed mode initialization runs in the default AppDomain + * 793 Replace CoreEngine by use of Extensions + * 907 Console report tests are too fragile + * 922 Wrap Console in NUnitLite + * 930 Switch from MSBuild based build system to Cake + * 981 Define NUnit Versioning for post-3.0 Development + * 1004 Poor formatting of results for Assert.AreEqual(DateTimeOffset, DateTimeOffset) + * 1018 ArgumentException when 2.x version of NUnit Framework is in the bin directory + * 1022 Support Comparing Unlike Collections using Is.EquivalentTo().Using(...) + * 1044 Re-order Test Summary Errors/Failures + * 1066 ApartmentAttribute and TestCaseAttribute(s) do not work together + * 1103 Can't use TestCaseData from base class + * 1109 NullReferenceException when using inherited property for ValueSource + * 1113 Console runner and xml output consistency + * 1117 Fix misbehaviour of Throws.Exception with non-void returning functions + * 1120 NUnitProject should parse .nunit project files containing Xml Declarations + * 1121 Usage of field set to null as value source leads to somewhat cryptic error + * 1122 Region may be disposed before test delegate is executed + * 1133 Provide a way to install extensions as nuget packages + * 1136 Don't allow V2 framework to update in V2 driver tests + * 1171 A bug when using Assert.That() with Is.Not.Empty + * 1185 Engine finds .NET 4.0 Client Profile twice + * 1187 ITestAssemblyRunner.StopRun as implemented by NUnitTestAssemblyRunner + * 1195 name attribute in test-suite and test-results element of output xml is different to nunit 2.6.4 using nunit2-format + * 1196 Custom value formatter for v3 via MsgUtils + * 1210 Available runtimes issues + * 1230 Add ability for testcasedatasource to have parameters passed to methods + * 1233 Add TestAssemblyRunner tests to both portable and silverlight builds + * 1234 Have default NUnitLite Runner Program.cs return exit code + * 1236 Make Appveyor NuGet feed more useable + * 1246 Introduce Is.Zero syntax to test for zero + * 1252 Exception thrown when any assembly is not found + * 1261 TypeHelper.GetDisplayName generates the wrong name for generic types with nested classes + * 1278 Fix optional parameters in TestCaseAttribute + * 1282 TestCase using Params Behaves Oddly + * 1283 Engine should expose available frameworks. + * 1286 value of the time attribute in nunit2 outputs depends on the machine culture + * 1297 NUnit.Engine nuget package improvements + * 1301 Assert.AreNotSame evaluates ToString unnecessarily + +NUnit 3.0.1 - December 1, 2015 + +Console Runner + + * The Nunit.Runners NuGet package was updated to become a meta-package that pulls in the NUnit.Console package + * Reinstated the --pause command line option that will display a message box allowing you to attach a debugger if the --debug option does not work + +Issues Resolved + + * 994 Add max number of Agents to the NUnit project file + * 1014 Ensure NUnit API assembly updates with MSI installs + * 1024 Added --pause flag to console runner + * 1030 Update Nunit.Runners package to 3.0 + * 1033 "No arguments were provided" with Theory and Values combination + * 1035 Check null arguments + * 1037 Async tests not working on Windows 10 Universal + * 1041 NUnit2XmlResult Writer is reporting Sucess when test fails + * 1042 NUnit2 reports on 3.0 is different than 2.6.4 + * 1046 FloatingPointNumerics.AreAlmostEqualUlps throws OverflowException + * 1049 Cannot select Generic tests from command line + * 1050 Do not expose System.Runtime.CompilerServices.ExtensionAttribute to public + * 1054 Create nuget feeds for CI builds on Appveyor + * 1055 nunit3 console runner --where option does not return error on invalid selection string + * 1060 Remove "Version 3" from NUnit Nuget Package + * 1061 Nunit30Settings.xml becomes corrupted + * 1062 Console.WriteLine statements in "OneTimeSetUp" and "OneTimeTearDown" annotated methods are not directed to the console when using nunit3-console.exe runner + * 1063 Error in Random Test + +NUnit 3.0.0 Final Release - November 15, 2015 + +Issues Resolved + + * 635 Mono 4.0 Support + +NUnit 3.0.0 Release Candidate 3 - November 13, 2015 + +Engine + + * The engine now only sets the config file for project.nunit to project.config if project.config exists. Otherwise, each assembly uses its own config, provided it is run in a separate AppDomain by itself. + + NOTE: It is not possible for multiple assemblies in the same AppDomain to use different configs. This is not an NUnit limitation, it's just how configs work! + +Issues Resolved + + * 856 Extensions support for third party runners in NUnit 3.0 + * 1003 Delete TeamCityEventHandler as it is not used + * 1015 Specifying .nunit project and --framework on command line causes crash + * 1017 Remove Assert.Multiple from framework + +NUnit 3.0.0 Release Candidate 2 - November 8, 2015 + +Engine + + * The IDriverFactory extensibility interface has been modified. + +Issues Resolved + + * 970 Define PARALLEL in CF build of nunitlite + * 978 It should be possible to determine version of NUnit using nunit console tool + * 983 Inconsistent return codes depending on ProcessModel + * 986 Update docs for parallel execution + * 988 Don't run portable tests from NUnit Console + * 990 V2 driver is passing invalid filter elements to NUnit + * 991 Mono.Options should not be exposed to public directly + * 993 Give error message when a regex filter is used with NUnit V2 + * 997 Add missing XML Documentation + * 1008 NUnitLite namespace not updated in the NuGet Packages + +NUnit 3.0.0 Release Candidate - November 1, 2015 + +Framework + + * The portable build now supports ASP.NET 5 and the new Core CLR. + + NOTE: The `nunit3-console` runner cannot run tests that reference the portable build. + You may run such tests using NUnitLite or a platform-specific runner. + + * `TestCaseAttribute` and `TestCaseData` now allow modifying the test name without replacing it entirely. + * The Silverlight packages are now separate downloads. + +NUnitLite + + * The NUnitLite runner now produces the same output display and XML results as the console runner. + +Engine + + * The format of the XML result file has been finalized and documented. + +Console Runner + + * The console runner program is now called `nunit3-console`. + * Console runner output has been modified so that the summary comes at the end, to reduce the need for scrolling. + +Issues Resolved + + * 59 Length of generated test names should be limited + * 68 Customization of test case name generation + * 404 Split tests between nunitlite.runner and nunit.framework + * 575 Add support for ASP.NET 5 and the new Core CLR + * 783 Package separately for Silverlight + * 833 Intermittent failure of WorkItemQueueTests.StopQueue_WithWorkers + * 859 NUnit-Console output - move Test Run Summary to end + * 867 Remove Warnings from Ignored tests + * 868 Review skipped tests + * 887 Move environment and settings elements to the assembly suite in the result file + * 899 Colors for ColorConsole on grey background are too light + * 904 InternalPreserveStackTrace is not supported on all Portable platforms + * 914 Unclear error message from console runner when assembly has no tests + * 916 Console runner dies when test agent dies + * 918 Console runner --where parameter is case sensitive + * 920 Remove addins\nunit.engine.api.dll from NuGet package + * 929 Rename nunit-console.exe + * 931 Remove beta warnings from NuGet packages + * 936 Explicit skipped tests not displayed + * 939 Installer complains about .NET even if already installed + * 940 Confirm or modify list of packages for release + * 947 Breaking API change in ValueSourceAttribute + * 949 Update copyright in NUnit Console + * 954 NUnitLite XML output is not consistent with the engine's + * 955 NUnitLite does not display the where clause + * 959 Restore filter options for NUnitLite portable build + * 960 Intermittent failure of CategoryFilterTests + * 967 Run Settings Report is not being displayed. + +NUnit 3.0.0 Beta 5 - October 16, 2015 + +Framework + + * Parameterized test cases now support nullable arguments. + * The NUnit framework may now be built for the .NET Core framework. Note that this is only available through building the source code. A binary will be available in the next release. + +Engine + + * The engine now runs multiple test assemblies in parallel by default + * The output XML now includes more information about the test run, including the text of the command used, any engine settings and the filter used to select tests. + * Extensions may now specify data in an identifying attribute, for use by the engine in deciding whether to load that extension. + + +Console Runner + + * The console now displays all settings used by the engine to run tests as well as the filter used to select tests. + * The console runner accepts a new option --maxagents. If multiple assemblies are run in separate processes, this value may be used to limit the number that are executed simultaneously in parallel. + * The console runner no longer accepts the --include and --exclude options. Instead, the new --where option provides a more general way to express which tests will be executed, such as --where "cat==Fast && Priority==High". See the docs for details of the syntax. + * The new --debug option causes NUnit to break in the debugger immediately before tests are run. This simplifies debugging, especially when the test is run in a separate process. + +Issues Resolved + + * 41 Check for zeroes in Assert messages + * 254 Finalize XML format for test results + * 275 NUnitEqualityComparer fails to compare IEquatable where second object is derived from T + * 304 Run test Assemblies in parallel + * 374 New syntax for selecting tests to be run + * 515 OSPlatform.IsMacOSX doesn't work + * 573 nunit-console hangs on Mac OS X after all tests have run + * 669 TeamCity service message should have assembly name as a part of test name. + * 689 The TeamCity service message "testFinished" should have an integer value in the "duration" attribute + * 713 Include command information in XML + * 719 We have no way to configure tests for several assemblies using NUnit project file and the common installation from msi file + * 735 Workers number in xml report file cannot be found + * 784 Build Portable Framework on Linux + * 790 Allow Extensions to provide data through an attribute + * 794 Make it easier to debug tests as well as NUnit itself + * 801 NUnit calls Dispose multiple times + * 814 Support nullable types with TestCase + * 818 Possible error in Merge Pull Request #797 + * 821 Wrapped method results in loss of result information + * 822 Test for Debugger in NUnitTestAssemblyRunner probably should not be in CF build + * 824 Remove unused System.Reflection using statements + * 826 Randomizer uniqueness tests fail randomly! + * 828 Merge pull request #827 (issue 826) + * 830 Add ability to report test results synchronously to test runners + * 837 Enumerators not disposed when comparing IEnumerables + * 840 Add missing copyright notices + * 844 Pull Request #835 (Issue #814) does not build in CF + * 847 Add new --process:inprocess and --inprocess options + * 850 Test runner fails if test name contains invalid xml characters + * 851 'Exclude' console option is not working in NUnit Lite + * 853 Cannot run NUnit Console from another directory + * 860 Use CDATA section for message, stack-trace and output elements of XML + * 863 Eliminate core engine + * 865 Intermittent failures of StopWatchTests + * 869 Tests that use directory separator char to determine platform misreport Linux on MaxOSX + * 870 NUnit Console Runtime Environment misreports on MacOSX + * 874 Add .NET Core Framework + * 878 Cannot exclude MacOSX or XBox platforms when running on CF + * 892 Fixed test runner returning early when executing more than one test run. + * 894 Give nunit.engine and nunit.engine.api assemblies strong names + * 896 NUnit 3.0 console runner not placing test result xml in --work directory + +NUnit 3.0.0 Beta 4 - August 25, 2015 + +Framework + + * A new RetryAttribute allows retrying of failing tests. + * New SupersetConstraint and Is.SupersetOf syntax complement SubsetConstraint. + * Tests skipped due to ExplicitAttribute are now reported as skipped. + +Engine + + * We now use Cecil to examine assemblies prior to loading them. + * Extensions are no longer based on Mono.Addins but use our own extension framework. + +Issues Resolved + + * 125 3rd-party dependencies should be downloaded on demand + * 283 What should we do when a user extension does something bad? + * 585 RetryAttribute + * 642 Restructure MSBuild script + * 649 Change how we zip packages + * 654 ReflectionOnlyLoad and ReflectionOnlyLoadFrom + * 664 Invalid "id" attribute in the report for case "test started" + * 685 In the some cases when tests cannot be started NUnit returns exit code "0" + * 728 Missing Assert.That overload + * 741 Explicit Tests get run when using --exclude + * 746 Framework should send events for all tests + * 747 NUnit should apply attributes even if test is non-runnable + * 749 Review Use of Mono.Addins for Engine Extensibility + * 750 Include Explicit Tests in Test Results + * 753 Feature request: Is.SupersetOf() assertion constraint + * 755 TimeOut attribute doesn't work with TestCaseSource Attribute + * 757 Implement some way to wait for execution to complete in ITestEngineRunner + * 760 Packaging targets do not run on Linux + * 766 Added overloads for True()/False() accepting booleans + * 778 Build and build.cmd scripts invoke nuget.exe improperly + * 780 Teamcity fix + * 782 No sources for 2.6.4 + +NUnit 3.0.0 Beta 3 - July 15, 2015 + +Framework + + * The RangeAttribute has been extended to support more data types including + uint, long and ulong + * Added platform support for Windows 10 and fixed issues with Windows 8 and + 8.1 support + * Added async support to the portable version of NUnit Framework + * The named members of the TestCaseSource and ValueSource attributes must now be + static. + * RandomAttribute has been extended to add support for new data types including + uint, long, ulong, short, ushort, float, byte and sbyte + * TestContext.Random has also been extended to add support for new data types including + uint, long, ulong, short, ushort, float, byte, sbyte and decimal + * Removed the dependency on Microsoft.Bcl.Async from the NUnit Framework assembly + targeting .NET 4.0. If you want to write async tests in .NET 4.0, you will need + to reference the NuGet package yourself. + * Added a new TestFixtureSource attribute which is the equivalent to TestCaseSource + but provides for instantiation of fixtures. + * Significant improvements have been made in how NUnit deduces the type arguments of + generic methods based on the arguments provided. + +Engine + + * If the target framework is not specified, test assemblies that are compiled + to target .NET 4.5 will no longer run in .NET 4.0 compatibility mode + + Console + + * If the console is run without arguments, it will now display help + +Issues Resolved + + * 47 Extensions to RangeAttribute + * 237 System.Uri .ctor works not properly under Nunit + * 244 NUnit should properly distinguish between .NET 4.0 and 4.5 + * 310 Target framework not specified on the AppDomain when running against .Net 4.5 + * 321 Rationalize how we count tests + * 472 Overflow exception and DivideByZero exception from the RangeAttribute + * 524 int and char do not compare correctly? + * 539 Truncation of string arguments + * 544 AsyncTestMethodTests for 4.5 Framework fails frequently on Travis CI + * 656 Unused parameter in Console.WriteLine found + * 670 Failing Tests in TeamCity Build + * 673 Ensure proper disposal of engine objects + * 674 Engine does not release test assemblies + * 679 Windows 10 Support + * 682 Add Async Support to Portable Framework + * 683 Make FrameworkController available in portable build + * 687 TestAgency does not launch agent process correctly if runtime type is not specified (i.e. v4.0) + * 692 PlatformAttribute_OperatingSystemBitNess fails when running in 32-bit process + * 693 Generic Test Method cannot determine type arguments for fixture when passed as IEnumerable + * 698 Require TestCaseSource and ValueSource named members to be static + * 703 TeamCity non-equal flowid for 'testStarted' and 'testFinished' messages + * 712 Extensions to RandomAttribute + * 715 Provide a data source attribute at TestFixture Level + * 718 RangeConstraint gives error with from and two args of differing types + * 723 Does nunit.nuspec require dependency on Microsoft.Bcl.Async? + * 724 Adds support for Nullable to Assert.IsTrue and Assert.IsFalse + * 734 Console without parameters doesn't show help + +NUnit 3.0.0 Beta 2 - May 12, 2015 + +Framework + + * The Compact Framework version of the framework is now packaged separately + and will be distributed as a ZIP file and as a NuGet package. + * The NUnit 2.x RepeatAttribute was added back into the framework. + * Added Throws.ArgumentNullException + * Added GetString methods to NUnit.Framework.Internal.RandomGenerator to + create repeatable random strings for testing + * When checking the equality of DateTimeOffset, you can now use the + WithSameOffset modifier + * Some classes intended for internal usage that were public for testing + have now been made internal. Additional classes will be made internal + for the final 3.0 release. + +Engine + + * Added a core engine which is a non-extensible, minimal engine for use by + devices and similar situations where reduced functionality is compensated + for by reduced size and simplicity of usage. See + https://github.com/nunit/dev/wiki/Core-Engine for more information. + +Issues Resolved + + * 22 Add OSArchitecture Attribute to Environment node in result xml + * 24 Assert on Dictionary Content + * 48 Explicit seems to conflict with Ignore + * 168 Create NUnit 3.0 documentation + * 196 Compare DateTimeOffsets including the offset in the comparison + * 217 New icon for the 3.0 release + * 316 NUnitLite TextUI Runner + * 320 No Tests found: Using parametrized Fixture and TestCaseSource + * 360 Better exception message when using non-BCL class in property + * 454 Rare registry configurations may cause NUnit to fail + * 478 RepeatAttribute + * 481 Testing multiple assemblies in nunitlite + * 538 Potential bug using TestContext in constructors + * 546 Enable Parallel in NUnitLite/CF (or more) builds + * 551 TextRunner not passing the NumWorkers option to the ITestAssemblyRunner + * 556 Executed tests should always return a non-zero duration + * 559 Fix text of NuGet packages + * 560 Fix PackageVersion property on wix install projects + * 562 Program.cs in NUnitLite NuGet package is incorrect + * 564 NUnitLite Nuget package is Beta 1a, Framework is Beta 1 + * 565 NUnitLite Nuget package adds Program.cs to a VB Project + * 568 Isolate packaging from building + * 570 ThrowsConstraint failure message should include stack trace of actual exception + * 576 Throws.ArgumentNullException would be nice + * 577 Documentation on some members of Throws falsely claims that they return `TargetInvocationException` constraints + * 579 No documentation for recommended usage of TestCaseSourceAttribute + * 580 TeamCity Service Message Uses Incorrect Test Name with NUnit2Driver + * 582 Test Ids Are Not Unique + * 583 TeamCity service messages to support parallel test execution + * 584 Non-runnable assembly has incorrect ResultState + * 609 Add support for integration with TeamCity + * 611 Remove unused --teamcity option from CF build of NUnitLite + * 612 MaxTime doesn't work when used for TestCase + * 621 Core Engine + * 622 nunit-console fails when use --output + * 628 Modify IService interface and simplify ServiceContext + * 631 Separate packaging for the compact framework + * 646 ConfigurationManager.AppSettings Params Return Null under Beta 1 + * 648 Passing 2 or more test assemblies targeting > .NET 2.0 to nunit-console fails + +NUnit 3.0.0 Beta 1 - March 25, 2015 + +General + + * There is now a master windows installer for the framework, engine and console runner. + +Framework + + * We no longer create a separate framework build for .NET 3.5. The 2.0 and + 3.5 builds were essentially the same, so the former should now be used + under both runtimes. + * A new Constraint, DictionaryContainsKeyConstraint, may be used to test + that a specified key is present in a dictionary. + * LevelOfParallelizationAttribute has been renamed to LevelOfParallelismAttribute. + * The Silverlight runner now displays output in color and includes any + text output created by the tests. + * The class and method names of each test are included in the output xml + where applicable. + * String arguments used in test case names are now truncated to 40 rather + than 20 characters. + +Engine + + * The engine API has now been finalized. It permits specifying a minimum + version of the engine that a runner is able to use. The best installed + version of the engine will be loaded. Third-party runners may override + the selection process by including a copy of the engine in their + installation directory and specifying that it must be used. + * The V2 framework driver now uses the event listener and test listener + passed to it by the runner. This corrects several outstanding issues + caused by events not being received and allows selecting V2 tests to + be run from the command-line, in the same way that V3 tests are selected. + +Console + + * The console now defaults to not using shadowcopy. There is a new option + --shadowcopy to turn it on if needed. + +Issues Resolved + + * 224 Silverlight Support + * 318 TestActionAttribute: Retrieving the TestFixture + * 428 Add ExpectedExceptionAttribute to C# samples + * 440 Automatic selection of Test Engine to use + * 450 Create master install that includes the framework, engine and console installs + * 477 Assert does not work with ArraySegment + * 482 nunit-console has multiple errors related to -framework option + * 483 Adds constraint for asserting that a dictionary contains a particular key + * 484 Missing file in NUnit.Console nuget package + * 485 Can't run v2 tests with nunit-console 3.0 + * 487 NUnitLite can't load assemblies by their file name + * 488 Async setup and teardown still don't work + * 497 Framework installer shold register the portable framework + * 504 Option --workers:0 is ignored + * 508 Travis builds with failure in engine tests show as successful + * 509 Under linux, not all mono profiles are listed as available + * 512 Drop the .NET 3.5 build + * 517 V2 FrameworkDriver does not make use of passed in TestEventListener + * 523 Provide an option to disable shadowcopy in NUnit v3 + * 528 V2 FrameworkDriver does not make use of passed in TestFilter + * 530 Color display for Silverlight runner + * 531 Display text output from tests in Silverlight runner + * 534 Add classname and methodname to test result xml + * 541 Console help doesn't indicate defaults + +NUnit 3.0.0 Alpha 5 - January 30, 2015 + +General + + * A Windows installer is now included in the release packages. + +Framework + + * TestCaseAttribute now allows arguments with default values to be omitted. Additionaly, it accepts a Platform property to specify the platforms on which the test case should be run. + * TestFixture and TestCase attributes now enforce the requirement that a reason needs to be provided when ignoring a test. + * SetUp, TearDown, OneTimeSetUp and OneTimeTearDown methods may now be async. + * String arguments over 20 characters in length are truncated when used as part of a test name. + +Engine + + * The engine is now extensible using Mono.Addins. In this release, extension points are provided for FrameworkDrivers, ProjectLoaders and OutputWriters. The following addins are bundled as a part of NUnit: + * A FrameworkDriver that allows running NUnit V2 tests under NUnit 3.0. + * ProjectLoaders for NUnit and Visual Studio projects. + * An OutputWriter that creates XML output in NUnit V2 format. + * DomainUsage now defaults to Multiple if not specified by the runner + +Console + + * New options supported: + * --testlist provides a list of tests to run in a file + * --stoponerror indicates that the run should terminate when any test fails. + +Issues Resolved + + * 20 TestCaseAttribute needs Platform property. + * 60 NUnit should support async setup, teardown, fixture setup and fixture teardown. + * 257 TestCaseAttribute should not require parameters with default values to be specified. + * 266 Pluggable framework drivers. + * 368 Create addin model. + * 369 Project loader addins + * 370 OutputWriter addins + * 403 Move ConsoleOptions.cs and Options.cs to Common and share... + * 419 Create Windows Installer for NUnit. + * 427 [TestFixture(Ignore=true)] should not be allowed. + * 437 Errors in tests under Linux due to hard-coded paths. + * 441 NUnit-Console should support --testlist option + * 442 Add --stoponerror option back to nunit-console. + * 456 Fix memory leak in RuntimeFramework. + * 459 Remove the Mixed Platforms build configuration. + * 468 Change default domain usage to multiple. + * 469 Truncate string arguments in test names in order to limit the length. + +NUnit 3.0.0 Alpha 4 - December 30, 2014 + +Framework + + * ApartmentAttribute has been added, replacing STAAttribute and MTAAttribute. + * Unnecessary overloads of Assert.That and Assume.That have been removed. + * Multiple SetUpFixtures may be specified in a single namespace. + * Improvements to the Pairwise strategy test case generation algorithm. + * The new NUnitLite runner --testlist option, allows a list of tests to be kept in a file. + +Engine + + * A driver is now included, which allows running NUnit 2.x tests under NUnit 3.0. + * The engine can now load and run tests specified in a number of project formats: + * NUnit (.nunit) + * Visual Studio C# projects (.csproj) + * Visual Studio F# projects (.vjsproj) + * Visual Studio Visual Basic projects (.vbproj) + * Visual Studio solutions (.sln) + * Legacy C++ and Visual JScript projects (.csproj and .vjsproj) are also supported + * Support for the current C++ format (.csxproj) is not yet available + * Creation of output files like TestResult.xml in various formats is now a + service of the engine, available to any runner. + +Console + + * The command-line may now include any number of assemblies and/or supported projects. + +Issues Resolved + + * 37 Multiple SetUpFixtures should be permitted on same namespace + * 210 TestContext.WriteLine in an AppDomain causes an error + * 227 Add support for VS projects and solutions + * 231 Update C# samples to use NUnit 3.0 + * 233 Update F# samples to use NUnit 3.0 + * 234 Update C++ samples to use NUnit 3.0 + * 265 Reorganize console reports for nunit-console and nunitlite + * 299 No full path to assembly in XML file under Compact Framework + * 301 Command-line length + * 363 Make Xml result output an engine service + * 377 CombiningStrategyAttributes don't work correctly on generic methods + * 388 Improvements to NUnitLite runner output + * 390 Specify exactly what happens when a test times out + * 396 ApartmentAttribute + * 397 CF nunitlite runner assembly has the wrong name + * 407 Assert.Pass() with ]]> in message crashes console runner + * 414 Simplify Assert overloads + * 416 NUnit 2.x Framework Driver + * 417 Complete work on NUnit projects + * 420 Create Settings file in proper location + +NUnit 3.0.0 Alpha 3 - November 29, 2014 + +Breaking Changes + + * NUnitLite tests must reference both the nunit.framework and nunitlite assemblies. + +Framework + + * The NUnit and NUnitLite frameworks have now been merged. There is no longer any distinction + between them in terms of features, although some features are not available on all platforms. + * The release includes two new framework builds: compact framework 3.5 and portable. The portable + library is compatible with .NET 4.5, Silverlight 5.0, Windows 8, Windows Phone 8.1, + Windows Phone Silverlight 8, Mono for Android and MonoTouch. + * A number of previously unsupported features are available for the Compact Framework: + - Generic methods as tests + - RegexConstraint + - TimeoutAttribute + - FileAssert, DirectoryAssert and file-related constraints + +Engine + + * The logic of runtime selection has now changed so that each assembly runs by default + in a separate process using the runtime for which it was built. + * On 64-bit systems, each test process is automatically created as 32-bit or 64-bit, + depending on the platform specified for the test assembly. + +Console + + * The console runner now runs tests in a separate process per assembly by default. They may + still be run in process or in a single separate process by use of command-line options. + * The console runner now starts in the highest version of the .NET runtime available, making + it simpler to debug tests by specifying that they should run in-process on the command-line. + * The -x86 command-line option is provided to force execution in a 32-bit process on a 64-bit system. + * A writeability check is performed for each output result file before trying to run the tests. + * The -teamcity option is now supported. + +Issues Resolved + + * 12 Compact framework should support generic methods + * 145 NUnit-console fails if test result message contains invalid xml characters + * 155 Create utility classes for platform-specific code + * 223 Common code for NUnitLite console runner and NUnit-Console + * 225 Compact Framework Support + * 238 Improvements to running 32 bit tests on a 64 bit system + * 261 Add portable nunitlite build + * 284 NUnitLite Unification + * 293 CF does not have a CurrentDirectory + * 306 Assure NUnit can write resultfile + * 308 Early disposal of runners + * 309 NUnit-Console should support incremental output under TeamCity + * 325 Add RegexConstraint to compact framework build + * 326 Add TimeoutAttribute to compact framework build + * 327 Allow generic test methods in the compact framework + * 328 Use .NET Stopwatch class for compact framework builds + * 331 Alpha 2 CF does not build + * 333 Add parallel execution to desktop builds of NUnitLite + * 334 Include File-related constraints and syntax in NUnitLite builds + * 335 Re-introduce 'Classic' NUnit syntax in NUnitLite + * 336 Document use of separate obj directories per build in our projects + * 337 Update Standard Defines page for .NET 3.0 + * 341 Move the NUnitLite runners to separate assemblies + * 367 Refactor XML Escaping Tests + * 372 CF Build TestAssemblyRunnerTests + * 373 Minor CF Test Fixes + * 378 Correct documentation for PairwiseAttribute + * 386 Console Output Improvements + +NUnit 3.0.0 Alpha 2 - November 2, 2014 + +Breaking Changes + + * The console runner no longer displays test results in the debugger. + * The NUnitLite compact framework 2.0 build has been removed. + * All addin support has been removed from the framework. Documentation of NUnit 3.0 extensibility features will be published in time for the beta release. In the interim, please ask for support on the nunit-discuss list. + +General + + * A separate solution has been created for Linux + * We now have continuous integration builds under both Travis and Appveyor + * The compact framework 3.5 build is now working and will be supported in future releases. + +New Features + + * The console runner now automatically detects 32- versus 64-bit test assemblies. + * The NUnitLite report output has been standardized to match that of nunit-console. + * The NUnitLite command-line has been standardized to match that of nunit-console where they share the same options. + * Both nunit-console and NUnitLite now display output in color. + * ActionAttributes now allow specification of multiple targets on the attribute as designed. This didn't work in the first alpha. + * OneTimeSetUp and OneTimeTearDown failures are now shown on the test report. Individual test failures after OneTimeSetUp failure are no longer shown. + * The console runner refuses to run tests build with older versions of NUnit. A plugin will be available to run older tests in the future. + +Issues Resolved + + * 222 Color console for NUnitLite + * 229 Timing failures in tests + * 241 Remove reference to Microslft BCL packages + * 243 Create solution for Linux + * 245 Multiple targets on action attributes not implemented + * 246 C++ tests do not compile in VS2013 + * 247 Eliminate trace display when running tests in debug + * 255 Add new result states for more precision in where failures occur + * 256 ContainsConstraint break when used with AndConstraint + * 264 Stacktrace displays too many entries + * 269 Add manifest to nunit-console and nunit-agent + * 270 OneTimeSetUp failure results in too much output + * 271 Invalid tests should be treated as errors + * 274 Command line options should be case insensitive + * 276 NUnit-console should not reference nunit.framework + * 278 New result states (ChildFailure and SetupFailure) break NUnit2XmlOutputWriter + * 282 Get tests for NUnit2XmlOutputWriter working + * 288 Set up Appveyor CI build + * 290 Stack trace still displays too many items + * 315 NUnit 3.0 alpha: Cannot run in console on my assembly + * 319 CI builds are not treating test failures as failures of the build + * 322 Remove Stopwatch tests where they test the real .NET Stopwatch + +NUnit 3.0.0 Alpha 1 - September 22, 2014 + +Breaking Changes + + * Legacy suites are no longer supported + * Assert.NullOrEmpty is no longer supported (Use Is.Null.Or.Empty) + +General + + * MsBuild is now used for the build rather than NAnt + * The framework test harness has been removed now that nunit-console is at a point where it can run the tests. + +New Features + + * Action Attributes have been added with the same features as in NUnit 2.6.3. + * TestContext now has a method that allows writing to the XML output. + * TestContext.CurrentContext.Result now provides the error message and stack trace during teardown. + * Does prefix operator supplies several added constraints. + +Issues Resolved + + * 6 Log4net not working with NUnit + * 13 Standardize commandline options for nunitlite runner + * 17 No allowance is currently made for nullable arguents in TestCase parameter conversions + * 33 TestCaseSource cannot refer to a parameterized test fixture + * 54 Store message and stack trace in TestContext for use in TearDown + * 111 Implement Changes to File, Directory and Path Assertions + * 112 Implement Action Attributes + * 156 Accessing multiple AppDomains within unit tests result in SerializationException + * 163 Add --trace option to NUnitLite + * 167 Create interim documentation for the alpha release + * 169 Design and implement distribution of NUnit packages + * 171 Assert.That should work with any lambda returning bool + * 175 Test Harness should return an error if any tests fail + * 180 Errors in Linux CI build + * 181 Replace NAnt with MsBuild / XBuild + * 183 Standardize commandline options for test harness + * 188 No output from NUnitLite when selected test is not found + * 189 Add string operators to Does prefix + * 193 TestWorkerTests.BusyExecutedIdleEventsCalledInSequence fails occasionally + * 197 Deprecate or remove Assert.NullOrEmpty + * 202 Eliminate legacy suites + * 203 Combine framework, engine and console runner in a single solution and repository + * 209 Make Ignore attribute's reason mandatory + * 215 Running 32-bit tests on a 64-bit OS + * 219 Teardown failures are not reported + +Console Issues Resolved (Old nunit-console project, now combined with nunit) + + * 2 Failure in TestFixtureSetUp is not reported correctly + * 5 CI Server for nunit-console + * 6 System.NullReferenceException on start nunit-console-x86 + * 21 NUnitFrameworkDriverTests fail if not run from same directory + * 24 'Debug' value for /trace option is deprecated in 2.6.3 + * 38 Confusing Excluded categories output + +NUnit 2.9.7 - August 8, 2014 + +Breaking Changes + + * NUnit no longer supports void async test methods. You should use a Task return Type instead. + * The ExpectedExceptionAttribute is no longer supported. Use Assert.Throws() or Assert.That(..., Throws) instead for a more precise specification of where the exception is expected to be thrown. + +New Features + + * Parallel test execution is supported down to the Fixture level. Use ParallelizableAttribute to indicate types that may be run in parallel. + * Async tests are supported for .NET 4.0 if the user has installed support for them. + * A new FileExistsConstraint has been added along with FileAssert.Exists and FileAssert.DoesNotExist + * ExpectedResult is now supported on simple (non-TestCase) tests. + * The Ignore attribute now takes a named parameter Until, which allows specifying a date after which the test is no longer ignored. + * The following new values are now recognized by PlatformAttribute: Win7, Win8, Win8.1, Win2012Server, Win2012ServerR2, NT6.1, NT6.2, 32-bit, 64-bit + * TimeoutAttribute is now supported under Silverlight + * ValuesAttribute may be used without any values on an enum or boolean argument. All possible values are used. + * You may now specify a tolerance using Within when testing equality of DateTimeOffset values. + * The XML output now includes a start and end time for each test. + +Issues Resolved + + * 8 [SetUpFixture] is not working as expected + * 14 CI Server for NUnit Framework + * 21 Is.InRange Constraint Ambiguity + * 27 Values attribute support for enum types + * 29 Specifying a tolerance with "Within" doesn't work for DateTimeOffset data types + * 31 Report start and end time of test execution + * 36 Make RequiresThread, RequiresSTA, RequiresMTA inheritable + * 45 Need of Enddate together with Ignore + * 55 Incorrect XML comments for CollectionAssert.IsSubsetOf + * 62 Matches(Constraint) does not work as expected + * 63 Async support should handle Task return type without state machine + * 64 AsyncStateMachineAttribute should only be checked by name + * 65 Update NUnit Wiki to show the new location of samples + * 66 Parallel Test Execution within test assemblies + * 67 Allow Expected Result on simple tests + * 70 EquivalentTo isn't compatible with IgnoreCase for dictioneries + * 75 Async tests should be supported for projects that target .NET 4.0 + * 82 nunit-framework tests are timing out on Linux + * 83 Path-related tests fail on Linux + * 85 Culture-dependent NUnit tests fail on non-English machine + * 88 TestCaseSourceAttribute documentation + * 90 EquivalentTo isn't compatible with IgnoreCase for char + * 100 Changes to Tolerance definitions + * 110 Add new platforms to PlatformAttribute + * 113 Remove ExpectedException + * 118 Workarounds for missing InternalPreserveStackTrace in mono + * 121 Test harness does not honor the --worker option when set to zero + * 129 Standardize Timeout in the Silverlight build + * 130 Add FileAssert.Exists and FileAssert.DoesNotExist + * 132 Drop support for void async methods + * 153 Surprising behavior of DelayedConstraint pollingInterval + * 161 Update API to support stopping an ongoing test run + +NOTE: Bug Fixes below this point refer to the number of the bug in Launchpad. + +NUnit 2.9.6 - October 4, 2013 + +Main Features + + * Separate projects for nunit-console and nunit.engine + * New builds for .NET 4.5 and Silverlight + * TestContext is now supported + * External API is now stable; internal interfaces are separate from API + * Tests may be run in parallel on separate threads + * Solutions and projects now use VS2012 (except for Compact framework) + +Bug Fixes + + * 463470 We should encapsulate references to pre-2.0 collections + * 498690 Assert.That() doesn't like properties with scoped setters + * 501784 Theory tests do not work correctly when using null parameters + * 531873 Feature: Extraction of unit tests from NUnit test assembly and calling appropriate one + * 611325 Allow Teardown to detect if last test failed + * 611938 Generic Test Instances disappear + * 655882 Make CategoryAttribute inherited + * 664081 Add Server2008 R2 and Windows 7 to PlatformAttribute + * 671432 Upgrade NAnt to Latest Release + * 676560 Assert.AreEqual does not support IEquatable + * 691129 Add Category parameter to TestFixture + * 697069 Feature request: dynamic location for TestResult.xml + * 708173 NUnit's logic for comparing arrays - use Comparer if it is provided + * 709062 "System.ArgumentException : Cannot compare" when the element is a list + * 712156 Tests cannot use AppDomain.SetPrincipalPolicy + * 719184 Platformdependency in src/ClientUtilities/util/Services/DomainManager.cs:40 + * 719187 Using Path.GetTempPath() causes conflicts in shared temporary folders + * 735851 Add detection of 3.0, 3.5 and 4.0 frameworks to PlatformAttribute + * 736062 Deadlock when EventListener performs a Trace call + EventPump synchronisation + * 756843 Failing assertion does not show non-linear tolerance mode + * 766749 net-2.0\nunit-console-x86.exe.config should have a element and also enable loadFromRemoteSources + * 770471 Assert.IsEmpty does not support IEnumerable + * 785460 Add Category parameter to TestCaseSourceAttribute + * 787106 EqualConstraint provides inadequate failure information for IEnumerables + * 792466 TestContext MethodName + * 794115 HashSet incorrectly reported + * 800089 Assert.Throws() hides details of inner AssertionException + * 848713 Feature request: Add switch for console to break on any test case error + * 878376 Add 'Exactly(n)' to the NUnit constraint syntax + * 882137 When no tests are run, higher level suites display as Inconclusive + * 882517 NUnit 2.5.10 doesn't recognize TestFixture if there are only TestCaseSource inside + * 885173 Tests are still executed after cancellation by user + * 885277 Exception when project calls for a runtime using only 2 digits + * 885604 Feature request: Explicit named parameter to TestCaseAttribute + * 890129 DelayedConstraint doesn't appear to poll properties of objects + * 892844 Not using Mono 4.0 profile under Windows + * 893919 DelayedConstraint fails polling properties on references which are initially null + * 896973 Console output lines are run together under Linux + * 897289 Is.Empty constraint has unclear failure message + * 898192 Feature Request: Is.Negative, Is.Positive + * 898256 IEnumerable for Datapoints doesn't work + * 899178 Wrong failure message for parameterized tests that expect exceptions + * 904841 After exiting for timeout the teardown method is not executed + * 908829 TestCase attribute does not play well with variadic test functions + * 910218 NUnit should add a trailing separator to the ApplicationBase + * 920472 CollectionAssert.IsNotEmpty must dispose Enumerator + * 922455 Add Support for Windows 8 and Windows 2012 Server to PlatformAttribute + * 928246 Use assembly.Location instead of assembly.CodeBase + * 958766 For development work under TeamCity, we need to support nunit2 formatted output under direct-runner + * 1000181 Parameterized TestFixture with System.Type as constructor arguments fails + * 1000213 Inconclusive message Not in report output + * 1023084 Add Enum support to RandomAttribute + * 1028188 Add Support for Silverlight + * 1029785 Test loaded from remote folder failed to run with exception System.IODirectory + * 1037144 Add MonoTouch support to PlatformAttribute + * 1041365 Add MaxOsX and Xbox support to platform attribute + * 1057981 C#5 async tests are not supported + * 1060631 Add .NET 4.5 build + * 1064014 Simple async tests should not return Task + * 1071164 Support async methods in usage scenarios of Throws constraints + * 1071343 Runner.Load fails on CF if the test assembly contains a generic method + * 1071861 Error in Path Constraints + * 1072379 Report test execution time at a higher resolution + * 1074568 Assert/Assume should support an async method for the ActualValueDelegate + * 1082330 Better Exception if SetCulture attribute is applied multiple times + * 1111834 Expose Random Object as part of the test context + * 1111838 Include Random Seed in Test Report + * 1172979 Add Category Support to nunitlite Runner + * 1203361 Randomizer uniqueness tests sometimes fail + * 1221712 When non-existing test method is specified in -test, result is still "Tests run: 1, Passed: 1" + * 1223294 System.NullReferenceException thrown when ExpectedExceptionAttribute is used in a static class + * 1225542 Standardize commandline options for test harness + +Bug Fixes in 2.9.6 But Not Listed Here in the Release + + * 541699 Silverlight Support + * 1222148 /framework switch does not recognize net-4.5 + * 1228979 Theories with all test cases inconclusive are not reported as failures + + +NUnit 2.9.5 - July 30, 2010 + +Bug Fixes + + * 483836 Allow non-public test fixtures consistently + * 487878 Tests in generic class without proper TestFixture attribute should be invalid + * 498656 TestCase should show array values in GUI + * 513989 Is.Empty should work for directories + * 519912 Thread.CurrentPrincipal Set In TestFixtureSetUp Not Maintained Between Tests + * 532488 constraints from ConstraintExpression/ConstraintBuilder are not reusable + * 590717 categorie contains dash or trail spaces is not selectable + * 590970 static TestFixtureSetUp/TestFixtureTearDown methods in base classes are not run + * 595683 NUnit console runner fails to load assemblies + * 600627 Assertion message formatted poorly by PropertyConstraint + * 601108 Duplicate test using abstract test fixtures + * 601645 Parametered test should try to convert data type from source to parameter + * 605432 ToString not working properly for some properties + * 606548 Deprecate Directory Assert in 2.5 and remove it in 3.0 + * 608875 NUnit Equality Comparer incorrectly defines equality for Dictionary objects + +NUnit 2.9.4 - May 4, 2010 + +Bug Fixes + + * 419411 Fixture With No Tests Shows as Non-Runnable + * 459219 Changes to thread princpal cause failures under .NET 4.0 + * 459224 Culture test failure under .NET 4.0 + * 462019 Line endings needs to be better controlled in source + * 462418 Assume.That() fails if I specify a message + * 483845 TestCase expected return value cannot be null + * 488002 Should not report tests in abstract class as invalid + * 490679 Category in TestCaseData clashes with Category on ParameterizedMethodSuite + * 501352 VS2010 projects have not been updated for new directory structure + * 504018 Automatic Values For Theory Test Parameters Not Provided For bool And enum + * 505899 'Description' parameter in both TestAttribute and TestCaseAttribute is not allowed + * 523335 TestFixtureTearDown in static class not executed + * 556971 Datapoint(s)Attribute should work on IEnumerable as well as on Arrays + * 561436 SetCulture broken with 2.5.4 + * 563532 DatapointsAttribute should be allowed on properties and methods + +NUnit 2.9.3 - October 26, 2009 + +Main Features + + * Created new API for controlling framework + * New builds for .Net 3.5 and 4.0, compact framework 3.5 + * Support for old style tests has been removed + * New adhoc runner for testing the framework + +Bug Fixes + + * 432805 Some Framework Tests don't run on Linux + * 440109 Full Framework does not support "Contains" + +NUnit 2.9.2 - September 19, 2009 + +Main Features + + * NUnitLite code is now merged with NUnit + * Added NUnitLite runner to the framework code + * Added Compact framework builds + +Bug Fixes + + * 430100 Assert.Catch should return T + * 432566 NUnitLite shows empty string as argument + * 432573 Mono test should be at runtime + +NUnit 2.9.1 - August 27, 2009 + +General + + * Created a separate project for the framework and framework tests + * Changed license to MIT / X11 + * Created Windows installer for the framework + +Bug Fixes + + * 400502 NUnitEqualityComparer.StreamsE­qual fails for same stream + * 400508 TestCaseSource attirbute is not working when Type is given + * 400510 TestCaseData variable length ctor drops values + * 417557 Add SetUICultureAttribute from NUnit 2.5.2 + * 417559 Add Ignore to TestFixture, TestCase and TestCaseData + * 417560 Merge Assert.Throws and Assert.Catch changes from NUnit 2.5.2 + * 417564 TimeoutAttribute on Assembly diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/LICENSE.txt b/.Net/packages/NUnit.ConsoleRunner.3.7.0/LICENSE.txt new file mode 100644 index 0000000..b909e10 --- /dev/null +++ b/.Net/packages/NUnit.ConsoleRunner.3.7.0/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2017 Charlie Poole, Rob Prouse + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/NOTICES.txt b/.Net/packages/NUnit.ConsoleRunner.3.7.0/NOTICES.txt new file mode 100644 index 0000000..02f3f84 --- /dev/null +++ b/.Net/packages/NUnit.ConsoleRunner.3.7.0/NOTICES.txt @@ -0,0 +1,5 @@ +NUnit 3.0 is based on earlier versions of NUnit, with Portions + +Copyright (c) 2002-2014 Charlie Poole or +Copyright (c) 2002-2004 James W. Newkirk, Michael C. Two, Alexei A. Vorontsov or +Copyright (c) 2000-2002 Philip A. Craig diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/NUnit.ConsoleRunner.3.7.0.nupkg b/.Net/packages/NUnit.ConsoleRunner.3.7.0/NUnit.ConsoleRunner.3.7.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..d5f61fe814800ce67558755e5b54fa4a52b5eb00 GIT binary patch literal 385714 zcmY(KQ*bU!*R*5Xwr$(Co$T1QZQC~P*tTtRCp)&2|9R^_`VM9erq)S!U8}0At42u{ z6buar2nY&@ru16oJ|I060~iPh7z79i_P7^pT4bJdKP_w%}jNQ_f40rT1ZWED9?P{brx*mtlzjXG1fhA=4XCyHKM$s{!o0 zj=8qM1XyI^=rAE(18|h0-H{gDM4pT~AV#}?7DldGqBG)Es`mm{b_XpNWu8}^X6*$! z-@%mrkA0v7Kr#IPS(gU}1cdXSeG2OKR;~=94)!h%wq`1B_V#AZ4EAm=j%I)S)P(J~ znUH!QCkQbF$OGxOn76>fYKfS07HbQ-Z2DXHVL=1gCwf@=fCg9FH|q!YhA? zLN(#tmn`x$=Dc;4%WWw^($Pm&eH)P;ag8DNOQv4>asgOEd&H9}$$T1mmrWbCapksl zaqaX1aASqj;Qa}a=Z#wC>zjO-Rk8X@D<+A7RKUWZeGp`HhbDgxkMkE|Tl;6kjl`k3 zmHy;0uEn|5Np!T+v4lZ>LcPu*5V#}}B^i6v{!$Q=kn9~M2=jiGqU#RumH{ZO&@j?$ zC7)`(CmcloTyBy41hB^b&U9rLSeGg>S|DdG<~utLMf3DF?<+3`xH&s5$xkbeq~SC0TM_-5p_i4}_3-ig@Q@FiE+E`t*B!3ZBd7#8F~D$h}Wp6^{k_*|tPs zayY8-J78CcMmE)U>S4Fj%E3ewb9EH(M9lP~SsivXB&{b#Cko=U6e!db+&h|YsCflp zIe>0vfbX~oRTt2)Mo^}yT_1oFN{AJk>>9x?2LCYTk;%FHrN=BQAG!LU^IRZ|ei$B? zEMhuLYwpM!S8%(4-WOJ!y{SsSa_iB{B;ZctjAoXlu!y8yBPy)JH)gznVg5sTOEnnA zrS?B8Ba%@?mUZKaYkC=VGBoD2qNADS5-8|JcIkl~nKVlrp9YQT|G&_& zUu|gz{s*1Nf6)DJXXT_t#T8V=8C*SG^;KkTj+v19aK8w{b9I<@$IXl#qU+d9@TVta znz=uUMs)CKwWh*~PZE3rAzqXE{(f9TmiqC-uL)i37@;WD z2RS=qIvi2O%dqCvzOKa?@jscf%+lgjc*B*;9x!2p-T=|7;34DUtsK+l&YmD2WGihi z#!FTfiSKd^EiRBIctkkXQHCtzuk3ZNtw}-U*)USFhVvvI3?hsTi=M;NRr8wMbJe(( z6C6#%3(d9@=-Hj`k`I{rX4=YQ_` zmS_0=xZ^eb_R=_TY^ObZ$~~5}x>r1VA_(yf67URU!8x1!E9sX_U(2oLT;?I?goK_d z(-#?Q0Wd=E!-T#HHJGl0$W^Lc@JXaK8YS?LB9RUJWk7GBNu-G%DW3r!FQ!`Z&51g~ zPKTl^4cD^`mC&FMLc7%q)*NX&q|rZ4p%-U(5{N2ETL5pYF9m@hSJf%q&ZVYmuTDjm z1jT;9DAuA*J;XIQr%WBixx@4oYBl##&~X}R!xBmomon?rJo2hDrhkn6<21R5t9$lU z9@e>(8zm2dy$!GsC?Q)i;>+&F4&BXGjYGr!QK2^#mR8ZW44VfFq4|#Ajf$omNUgM_ zq$TIfOmdG#;%+7a9B|@nar*MW#xMBj-g`()a7`z{IjH#x9Qm#W{9jPzua1TC{sZ*l zzwgPE?;S#gYbKk;6P+e)BmH=4jdk*qj4&Bhkvs^TkdDTlRlX5}d7W30SJ?Z!k3*u0 z`iIF!@pN(^ybU6{*PHh{grlg z{iFWk{Wg+k zwcS3gVfjz9RWXZclWtmFoEN)ic!+BmEC`0mE_+15o119;7Am7a^4-0g%P!jzeblu5 z1Gn3nUHqQ$9&KN056pdxQ+G&*z+11q75!!eLoe*SefAi0_+Q`1w$US5C)k7m%#k8Y z-v~Yshn^FUH?^VL{&ZPvT7pT(el}npD^EqZ{rzjr8f)dWX9RyOc4WOyTiOn4>*>`l zy@Q%zi%rP`Kj|kgpKXk379PgF)Wz989mf01d)%%(fuwqQmJau*TQ~162Ky;?If|M2 zqj-y|BIWzNoBGZONsP;7{Z?vYlCGQ8>dLjdZu|Z{w+^-M$-w(%t`ERp{$%*W{SL$M zuef1FS8d64`Q&q)J$MWwP5*6p!M0g?xE=TaTUyU{pRZqr>gi9*x@J~+qj=8Qb(XF5 zmLMBQYE+>xd_((U!dZ~Pv` zcAK{C>b|msa1XBTu)ov%(ogkU1KaM!^amt1+B**2nQnPA9~!(D-}}O_xAGp*Su8Pn!-b7$8*;XFeYv^R%(jPq z_XlI^?l}Q9PlGPLXO0HG^v|3uas+vG>i}M-#slmY^xymI)9x53i?jwA2~z#rGl+FC z5B0^hC-D~Lw^Y}dwym3!bUlZlk}=rWl%=IxBe!gaoK{(BrlI~PMqPQ*JP&*3MvbbBp-(J1Yyq4yl3oQK2WkSW7Z z*gjgJbjj&&cYS)t2v@VuR-JRPI94qZF5(#czO%NvgC7g3`h4+Q^=`?X& zR}UhWw?Kz!@mB8v#2%}IfkA`qKn$_TW}BF<;Q}krrXGpb(kWiZL0=f%TJWj@!Q#G# z+iHd`8~2)jxUm2R*wmD1@+nJ|fAlicp8IBHvj0-E8WM~Fk?x)mlF$Opw!%+WMtw${ zM}4>gMWT;Zt{1z5Hj(>=QA>jje+S=f7pRL3Io|RHB}+zCRz5*i#B)0v)+WDAVes>3 ze6Ax|0{IvGs@mAA>+C7Vt7$Hd?+}xIX>-HOL|K(Md3VtshN#GKQ**>eyIa!fWoX|f zELp%5X=XSHOWNtr;gv8A!wIu-JPxz)UYqeJOp)eJ6Z`)0JNPFBcnZ>NyaIS>l$4P7 zR&R=P*mI$M1(hN=E3dk)yF3FgDvcWZHDr+pE+KJl$A$9$dA@BQp8gB{z3+sG+F6vm ze-r&;zevRq>xlCQ0DJA8U%9(plvgR&A>@41rOR>xD+ znUvV*7CNi&Dmz5r|AOCyD~65J(e|9)*HJT4@&075rCyPGg4J`x(mw_t`Dq_&L#l?| zj`_hmH|r#iMY|(zqZGt*VCIz-?DdDVR_y=&WYw2Lg`(YDOIMs1Z4P_Y+;>`59=;By z2Wp?YP9NCv|9<`j6uUAwVGtCX_!;uKBFm^~g-5R%RpSt`e|aXT-`!*=)a`%#Z%#Dok=DR5*;v*)^Xr3z2YGu07QWbQzPMF5#ezTs--G zw#(c0$C_iHD+S8k`B^+(kAy=2>)j^zRw!>)d@1BibW#?B-jWl?oXc<^oX&rsmC=z? z)AF>~jd2J?GVZW6*bxcU*>lvq@(a_Jm`kn6%(!L>C-}Y9LHLkQ7yYu{mx9!6@flQ+ zIm?#Q#Ay8z7q#V3G!=JrqW$O^G%V#0fPbOGyODA;^Dc-ZM3^bv`RD@ z!j72WUFR9`IJ2!clb4Y5pnC`PZFGZrvx9bR&~T}B#FbVjxjJgL?XZF$)I-NWwKGG% zUV&tRFwU-eyGO+@bT&ArI(UI33D6gtXItM4nBVU?yi{wLf?k=(%3i2kiE3tmwsEIN zxdP)`wwe4*JJ)C)ObOyAHy>Pnqj_h8`!Lp3I4#mHCzF?xoIB_yx+#%5{%&`*&R_H6 znETl~7Q0Ez4otLG8V+c5U<18X6ijko9Fi@JUAduH2( z_|U45`Ew5=+E8uAjzHM51}B^WW)8vTcu;p(!i^e$sBMo*6y)HMSI_vZ(Cm@FY(D5Y|P@2C5B?NjI-BrmBcdxi(gm{-X) zceGYZ>sZiKyG;-HqTVy(Z6l!jb%Y91;@!BnPSO}C3?bc8IVD1il^DLicLSxM4fwzD zBqKTYi8SPL9#J^&wEa=}QAC-d)1~gDJYy}3=i|U-x6=5?`;8+Pp7$M4GIsuCumadn|=EIZPD~`8neG9WpeU&{U zv`L~wJ-xjR!%_XfZ4`*a1mj`6!h3$>H?hnpZ8QttfxXS(m$kK+B$4*s;hOm))dPNc z#QAqsx6rD!ac&qt+I97OG3-?C?7!4J{ieqVt5TSjmrY25t-Oj!0grIpd;+0i4 zOcL)vMaRzGT`7OcnL%KO7MBpbSRzK-U`jMlzVOJsy@<@XG%O&o>WC8Kj^;MHEf?4$ zP~TVgY3`iQKfB_pHHW5yG9mILoxUBOGUG6JE}ul;6jf7KePDAyu=4$aLV%hf=4XUf zu^O;VQc-|5V+{zvA2(&r``^a2a_E-rg(2s^L zZutlbiid#Ug19U!a&g@;VzV2 z1#S+!aAWSLHb>y*3)eu1^m4j>QrYBvts&sN?4nn@ko$dW)ei$b3F6y;tzig7$+;+A zf-iFAx#5BXR$=&D9%Sbsgy3*uD)&>A&3xmS7q(5Gxgqti#mBIM*dR)rgusS{<}jxx zU4)}V<&gBhovKmN{;qx}XLhYbE|&eP9cg`!iT*#t_n?|QrKa3JORBDIyM0a-RCCLX z*Q^;XV_9ePxKp+c_-^Pajk@B?Ml2S|KutSDnUuP1D>8A+0Ew=izyj*7=k7~E$1Tv3 zL|9i|YRqZb-9XSNj9moxf5D^{XQwNv|IK#~CyXZ&WNn=vx2>Ys)>T%K!=5iew=h~> zxO>W}Pb2=a#4>1NVcD~P4^afhyA})o z>2le>r#*~A_LZl7DeC@}3a@POTj$JVs+YhuXocJe_{670lXHEVizenxM;50X#8$DC zTy$PJtQTJ|rqv+lgBKu(2n!)|`lA)8fXbPgNV8U`-sfacPET!3-|gz~E*PF%I6_*M z0^cktKEyss#3Uiyboi7Ca<#h%hupacF4G%dj;h6&= z1dSWk-+l%J*SC7_icUbOwTlrC7Di9~H9vP}@y5>6lp8`+A&x*uk0xF`1Am5Bk^4;v zrjb2UjQRJL!Eg$WXSw=Rs9YKZ89pu2W|cj~6pVnWtDQ)i;I7wkdkNS$qCqG02kPpQ zzu-C89c0=+zI0lN35tSr%e>A9Q6G9k!f%=h!X@R7mf=0<)=+StnJC;Hx97rrezK#Q zVq70&Zj!63?@=F3AHvBVNnyAc3{m)8jm#*ePf`_M^E0kIW}toKogyIbg!URdQPE{X z5Ksj>d&ewSGGf|;IW^~^pp-Zo&)ZvV-0nC4*)PU66s)@FjA|mY;U42}z|pN^{%es6 zNycyFHd%W{h!f^fnvyl?DlZv(Qk8x65pIc;bqVM4d}MN9Vf=C~i4=vIbA5A&Up|gp!1`G1b~fn4 zu(h3Tb)nI+tNWhq(yEu`mWx_v5+xl%q-Jq$nFK6KY78MLm)(MKNp>wEeNUKZS2&Us8NNfu>BQw2(Nnp zMy$TNP z=@%&I?hokta&dwW?plHp{O{pWoyc#o^tvrFAG$y}fy5qJ<<&Hkw~nr9JQV+=RM^Ju z7C(a!&K||=YAa`sALH^MN$Q^aVsoG_3f7UR9ju?4-0mkMOT}C-#ZX?U=+n=n^g1BH zR_Y`+kFe~~!K<7>ETh%gxPwX%k@dy`_>T9vDKH&sC;wK^D*fYgxJZWK-7N*m0c9|ci zH-KQ82ckZD{M^(t)`{#dAiY?$NON6c1%~*JvU9;IGD|TTO3C`D;QgUELW0U$LWw5- zUN-IYVfC^R@S`{(+y#0PgK_NB1x+id;yXJd@zZ{JW&zPi z-6Z9-)UdVAQ!0%+MW*e2*j#1DYZVRA$n~4E#s?qm88{QkFHh3h1UM3RFp-dDgN@k(GIg9A zmebh>`Rk~*nHeUv7tuOBNJAg+>T`Y+m@G7I_4XfaH`rV%kf;)o@j4n|5{_7~?O4J_$PgJ3i(x^J z^rcA3)W4#G657N%8|54+vC7vBGD%7;7q+mn1f$L4py=mxk*vbT*2y@znv13d6%Qkc zuto`yX2_y)--Zvl6FS0oAi9u{iy$-H>Fn1kv7^Do>u4=vG*T#U!9v56md>?19-i}X z^v)@7CZp)G(nn~021ZJirM^t5Z5^aG;Q|Wu@4aD4JZQ0e-DOK+MaFX<7AFV^oD5xdMh7g@m9S0EvES~W_dL~G4xmY{l`hqNR zUOo#>s6Zx?grg1}7Rs=68qz}*c%v6$5L#hktovnDVN`uU3Nhs38G_X5Qik% zFLrJZew5Y>Z;i&O4h*9WC7_HftV>5`HSaePqt*-!Kxc@ffZMiRGQpEd}G%YByd{b6O3p#C7efm zoXy`CN)Videzy&5sW=e;5*;;qdL6~?w$RF`RdrHCBsl&S=wia1M_g*f1)KNx`@?R| zG~zy@$37QE&pv%`C0w@Xthc^f@*xW8)pei28@C`K8wBg04NZk>c)?USMIR>tLNlum z6$nB~XWun=d~8q0pl;)SvnY#T1cp56JSakN=+udk>ZUVOxDZYBn2g|lR!QG32dKxd z!L^+JcMEA1sU}f}sY9%tk8y3J!>g)(PikklT!x_T3=*UT&~=<@QsGaoyg0IO1#B>! za96hP%Wzw3h&1H^CBCj{Z*BkXt=oEyf`!U|+VmH;6vP(;pNGSdjldA1x)hQrpZ&8H zjUA>&BYNJJGw=1ALxQV1&V5kPeot%#( zHK9*bY#1EjnBBMq;s!NdyV_HFBU;TCi&?PoZ|=tIngj-sh6lw^3;_QPEC^GgMkf)yZZ_$%>5Q z%Dfz~)5DaQVZ$sXB@TBGeU zg5!R4dEGm|VF&!0aN+em8Nm08B&}I;1#PACRr9p|Lv&U+^z-=isz}o->T%5mF-$C3 zLfhOLgo!z^g`KXo%n!cwq@oVuh8u+@>B=a*8xtpbOFNwYLEk~$qP@FCoQ)4i-`2R~ zCos-j(7%r}N~?6Uif+MN>@SoGzfG^4``${2WNb944u!lf>2|tNspwIbxviJw6@WQ>~0%=&pNQGS& z(+)e1g=vqgG-y0IwlGcn=*~Qe!-5IBBg3#K$ZRBXdDR-6=YtF;z`x3hj)`Lwa3OA( zeAq6!(+OLr*(Sn?#SI;kD8UqxeeP5wMeV}+>diOQ@@Q)Upa0Oa zJsCvUB>r1&kZ(-|u-Sbs! z%<=pv=s_9Vs%7}-W2OHlI*h0FSHrAX@*#QR>Sg<=;9Z0Ijs#!J;G+huwZEC2!%BM@ zFLNK{PLL+0s8c$*w9*22{*q<@I=%pro`!FKDkmC{+MetQdaWEw0GwEb9ScIniKrUV zl+phldRXb&1wkjBW+HpT6*W*bR?#U~PUkMP)X}6cGO1t|l)&ue^$^p;`x|TxND^rY-F~$nT(8n9h|q%8gOY)suD3Y-3<=DYWA^RH;|gY~-%!*@o^s59z)!zYOew z6YdKQl3zH1spGfTYB)w20@G0etIhoAo z0|l{;U#LS#Vd`_@U7c4D<&Lu#bFoMMBu|BQblH8O!N{m!!0;ei5i?bcp{V&zflIW* z@EMO*8Hfptx-&{+YL3(^J{^`6$e>*F-iIN%hr#?Puc$-KurXegzmGi-P>K?119SjT zj*CrTUJ69FX?&snf9{r$uzoW8nR3j?I5`|=^cGjKGm0V~QI9;~pWx2)A#?%Tv_I@T zpPm#`P*G0fn1u1aJ)AYRl$dyd3*Zi$@6rI;0q&4_UsJ7rCb zRYc-ioWhE?GDFnH+Gxx{Z-?smmUwxpWsaG2YyAo%{3g(snpd884oVPA+?JOZHtd|E z&C&yb&{OSLhb4g-@A)F#WJ_8<*t^iN#9CQm_Jyp`YkrkyfR%W)+`V*3hjn-}I%=&C zVB?t8;^7p}w!Od@p_lK!&uz<|h#<-u0B9ela%2h6P0Gv26Uq;RFj5y7%b++&{L$^P zgFv?AO|l^JLDEyh!wG{;9riA6U19Sv$jaEnG%;B#d+|xYesPdqHi5dh_qtYe^@p*3 z+}dkGvNcaMCyE!8MLI7j_rD&hYpQmUD2wcUxq|ziJFj;kMqHv1iOxHvGE#CxoZ|Z- zmMYSbZGRi{Q!37Mbn`-QNf==9grdlT_k%!-mcwVwb+g4j;MS=AFhsJTvU?JR6Kc@V zn8I^Cuk;h-sjP#$GiqLyH;#gXcP8N2aTH-D!WKeK)hKke&`@*}YpQ8sF zB4c{H`rhVXXg%ry$<{pt^k1j3CAgYL#R?mD-EKO4Qz5#AQ84bX_41WS@xK;KH6^?- zyi0y$e7_&}?D_F7{S%T?u4LP)ttV{3)bv(%jEg4Tz&+QTa`W+HSijzrpBq@oS@|29OtN#74I4qnRB^}`g=d%rtt9!-25&HV;BpbI@zO` zn#mXNN{yDlwKiX5@~M3d3NL<}h8h#=nc#DKz@M1` zZ*Wq;*e=X4_3qo{F_jn ztO;Wkq99vTyT~!Q0Vp({n~0;Z zDygwm8~AAk(Vjw&Gx6RU2=xsHJ;l}KHYJ!BTfX@1z<@BuYFe0Jx_yjm{s_hve9)F0 zImg*5ekhX^s8n?9ghbZL=fj#NhKeehC?nFYD5@il6$^#(iOp|C0=tE)kaT1VbfnFY zD|!yL6;ASN9oJg|VT5OtEK?oy2YruLx4Ep~4`eY5w$fr$FUg(c@Y4iN0ZKCjB@Poo z^&~{;cN*3z8z(L?Sxq-t?bj0Qje<+5&WFw*CF%1X$JenMQLF$UnIu5Q@#GSJYP))K zvQa&0eJ|qSVdF%GeRT9#yIp^UR zfu0XpwgCnWg1M8JNkc#mjA?OT$|z*h!Y@y0VClG`^?Bg|!?QfQ8EYvO!keD1;cDw3 z(jv(z_sLlaY2_qXyiIaKiDNJZV3(bdG~M{y|Jq3uF8gN7!GKVmY5|?hxWEk?eYyym zB3ImKG9XRsE!Om%%d(ru%ccv+8^L5-6YcVZu&Iys9kk+_SQ(wM1rI3+?3VyA4r+Heq6~&T(X0kDmxHrtm_84k^^6_e(y`Ol ziZ=yXO2?}|GDkV)_{hUPMB?jKbF+%9?!*o1|FT3JH*yAoBdVn-t7UPFo9JIXr;No* zh+Z)pr#OOfu<2Q9-1WYnD+jqD5cCs7y?U(SF@Q{OlY3mnsdq$e6msu;h z%T9)P7(0(D>Ru#Apb8V3L{_l^5CAG)fyT0(G>Q5`FXv9IBQZosK!abl=~O|@b_h@% zH_1VbPNu9!eQ-1toNx`SG{W3r=9kLA1cukP0}kexRrApd1JLA3Ct>o+mG)`ZRaEp* z-$}6tD zR7|;u1$&{BvkIOeF2RybD<3+hZSOPI1ex*6E6SROs4-n9IPea*0w4JCdCL8fsK`_O z!;MJ~xW8l|c2Yc`ErU^6*1euJ%KR8THJjmjHfwmkd+EnV2m}?7s{Lo7-?Un!_@A4_ z8{a>#4zOG>0gs$B`|8&O{=c7s!4#exV8RpW&EUZ4T60|-mb?}uyK;9nkl2`Y?Vof> z{kUq%2$rRr*|X((8n*u43&6U%QTc9}#FCJODZ0iE`C{bwWJCRp?8OzImQZ&YHhU#> z1dhR?sx@?hp~~8^R3$$IJ?NBCBMDp@*p)n@xk1+-ZxO%I}lw@=b$~Z1LO~at6rbmvvZSPNgsn zc;m-|t9r2B5gEImCPA@A{*5(nBo{oh#FE+rGnW?FUZcE zR4-K~vK(t{yQaA5Q(XCwAmvAidWg+6!CEN!P+P&)@l1_aW+7q+Ss_pA2=DzO=rny# z<+4Kf*e9%jhJF$u)M7vvYYs!_nt+2Sn7~wB(~uxjQn?od_z3Z~EGlf#5KHBPfR>jc z2Uyu@=;d<9HjVZ;d-;??Ad*gwE)Gg0tl@2c^Rbi#O-!CpA1B26^JXY~B~cKOjyqa? zllT41;z~op8Tk$b^C>0|bPfp|?_Cr%(F*p_9iOkLOS2$H=!) zg?Hr-BLz14ML}+S8?ZGu8OBG0kFaf$`8n*QAKj8&R&zy%&K1Y5jyEFx#((ipIKu#2 zp@FMb0yswC&+j?Sm#iyx5LlQ+zQMfq_ouFsjfmA6e`xoESsiuMk`*3Z4<5bRfSI4! z2odACL)gH^s{O?}+FZaYN`vXbXQBB|9g$^0F0+jYhRNa}j2wq2+{vjYwr+8$f{o=Vp?9+4H}iBRTzm zf3(%rdAZ2t=TDWG$s#w_x{W(?X7;ddK^@Bv&hs*UWqjZ8w4z4Cxx~dJb%@89+pgBB zm>HN4#nMY{`rdIHc3dg( zqZ>P^cv1?S=>&&E-Sn9V&P@D-kPb& zCCr5P=UCxR1r~v1u+4xr&Nm|?a>5vumQnmE>u@FeA#RNZr370h<(>%oKRn5S^ zKAQ3g3rHYKwvdikbu!ZINkbqid88MT-|_Egg`W+9HYq+NofJy>BGnjIj1mu_A8?~+ znTotg?b7p&u3z{0-aoABUZn@82nAup+h`%Q3g8)_K2 z@K^f64f^Y!Tpxwk+WaB1a)kbH%2~5}_iVzSnyhoCx2GMd)thpE<~koUEEi zp%+Jj56{Qf=-h5L1OD{)g-X6)++=BA0!20LhN(<_){0lL z9sL4*A+^zn{*ipBO%w)79F)q5q<^%hs}6Z8xZo-S{H=}+hGv5dR5-F(1`@u=+6D5` zUgHTzC$(roowb{)z)q9a^kD(4C)FB?B3u7mJu)@S91KAs?Q;?bwuBL@)mHX6WzBrJ zvCUU`S}C|yLk?X<%dRpSA{=J>%fPx?;-3WfS!3Y%oiNIm2Jfw!*^ zxUlIBgq1pz-;l6s=pH za#?|gTO!pRz<$C6j@to1V{zI!M(>+>+`;K0?cD(nZ|sOVNfTw zu_2n^L|Cx5O4gP(lqNdAv&_oNUxi`8*Jk4R;m~z51q8EV2gynGKMjBkX`2t7)(!9#5x? znEPi!GVwcJSC*eZRpOf~vxuL_ee&lf(seNuhODq}HF>YJL}208e-)sT!JFy>2~znl zqzI7-1QogK;VQN??{)1`e!83*43BLH`l%kG3KrA+iw+>&H3>Sx`5}r-k71bkL(Zb+ zX`+$2PU(>Mgw30!O$JtIj^slkbbW9J!qF6Qx8l0D9Sq$t9jMKpK4a!8S}_8-7Y@u? zD$WubO*qBQJOxJKe=Jhf2Edw3WNMXx<-7|>i^sPe_^zRHM^Kdd6p|XQ*ygFx{>b?s zVFBtU35TEDR3xP{c_D@(ZgH&s-3tI%%>;Zu{QNR+0uN+xqz@&)u*=V{N+t+fyL*{> zn;T)%RZ!@J{WXv(&Lhs#5a2}T_0!dmDATra7X;|PJlZWDK&A8AhpsEcV3)F!t8s;a zTt)tl8ah21t$SDkO-|qy6tS01l6!(F9@)2F_xU{k!$`Lc2-)p3Oagd;-@g3o`%vi} zBKp1v^Z6BExS(beNp{Q|T>Yxm-%*z`h4Q|5@{tNo*G&m%8QT2qQdg0z!P+Q6;Hs2}o?Bjp@}b4|mM>a1bN~cz$PjC|0my!SPKr7_hDP!$kg#k}(NC zt+IcRmgB2WWFr)(imy@`o!KeO6^nK?lI#}Fh}Oa(YYx8rO_`e-24US1wBuCs|SF#Xb8B z?tG1v-m|##a{J-%CjR^>Q>+eD8)y+I=s}BL0crf~Q+5otp$iG%5-B4FJ*uJdr8Ode z_oj`>6?RoDl|sNa!a$Y}dY0e;10$7Y(kDIlqBmtX$3F6YH&>$&Zmx667ZXqo6;$kX z1aA)ZzQ!B#!T{IY57$hwL&BsawnF;VfWQ(I5DLPGe>E4o{TQ~nj;97S>co+v8dA|d zNRRRYqn*MuA;-J4nvYjSvqzjS+2ERblgPavg{UO@r*sEd?Z-D+LJ1Fa*GGP;O8YtG z$r3emM5jj*ZRpb|PQX^2zim@IRmYLHn#FfM_nzfz~q|N1ZCrq1FN|is2Zw3er6Lp2Q z@eelzcYF{)jTB{&>aBRbQ^_OrNAP(KT@5;>zR_efL(#z6I7{an_pP9_dAG#CPi?U* zpes><;W0dM!V@P>Jq5VIUaR(Fv65j=4|WfV@mp7r`r%nBO>w?S5nVM+T6reuvP-t& zA06;z z-^Spix8vvAwL=7Bwxucdyx*5f(@mq&a%aO6irZ5r>2N^?3CFzs47wdCEfqQD$9wZP zI>~%=dbMq=f1fF+omA{{-;%!^di!Sgdbf<9B;j=Zw?ZWaD;Si6!&yAz(XTiHie5dP zgN{Rod@RIqJGz$KNZoQep5I2N0hCGZD-g}d-DEU?O9SCqyxaehjt;4rHp;p*&48Ln zo~Oh?=RxRCr|%u(IdHkhh+<%)Ui6*!eFh_W)^en<1a2x(yDV;Afg-`rsti0Bbpmg4 zpp`6w^#JPUt1H8TV-L)7O#vHOcY1Z^uSGp;>KIBXpBUu$7_(2ds1QRcdD2`!OxW(1_Ah(zs&f59>jt~Vj(xoq^hLNu8*29GtT8jmWCeYCsL)R`vatHAdM+08#uSl03ngALM=J{-`|ag#|LEp64H>(r z)Ia}qqXVPEYuiQwcG>|*xv%L(AwAc{@P8S1;p)AtW!ExWI=Y->ou+>MvM2W;R*%U`bM5YYlI`-)gmSC$ryiN`{#P8k4^$q%_FJQ%l zqJwEHs0yp3T?{zmwqm9a)T42(ln$N54wm(oJKsJr`Xbh=r!m3jTCkY1#qCmNzIc|8 zS@C(6h_~fO4Ik;KCMWF82pxyH<+*Agep?29GOclq!O-xZo_gEVr?N*VOYd<$&aZ9r zG8BJT6z?4$ra{b0(tWc|TXx|yxCiV%Ev-~aIK|^ULGBR8Qr6oM9|GEYn<+a2Y7#QKScUx$5q)DwL= z^v-JpNWzAp#iU9vypuapbdb*IZz*QpYB0Jm`^NEEgDrlB7t-TUhzkNXtgLTnOOe7y zUZ|GbX3OE=75>YO*s;}ZWe%?oil!?~)-3=RMm#22Pv*8J*!ziycAcfxy#(|LUz_{? z0Zu@%zj!M8(#3CKtod!FGE%Y~2B+9Tl(Bj*YDM>)gbq0JHN>g6p4GuO@k?kYNuNKU zcJIRJ5Z(q1S7FBLzUgPoU}(4nFo3`yKC~x4m`T_<77d*^ujPnWYpc8qRugFzrBXr1 zw|2W`+tgYH#zM}84w>7C4=&>aie2egc^!@AQwHehn1G_QdLUG!>TwhTj5L&1I9uYx z42cs%CpaTRf1}s%u*rB59eEY6%uJK(URL{Yp=paJqvv@9AGE){4XqOKn8XcFy|fdZ z4nl{m^^dbiw=VmNtsEi#GX|!Ez3Kfi8>JC*!^qANhA|9>(>ZlNqG`?*mgEM4bSj5K zeuFHY+3Tr}x(p&uY+#BP0Q328o(zA%`L*AJTq|GxsaL;8=U68zOW{^#+v?1EWKcA8Re>ag-Xp8Ff6=R_smcvQz!V4|%~%oG;~16SPh2WLy)L?H5!`h1_&p#K_N<0q47+u$7fDCK^S}E$-@^E( zIn`$zzB;$9*Ow#vi16~J+GW^zK#Gb)?cAOmpCfz?IOI1TMzDns;PQt~=D9XScO4Yi zGo=(`EuoGn;Ah95ReQ|k%39{&0JBVf<3P$n8lue_ zB>=~T(tbklhq>Dnq=a=_@g3m$3cHnyp(#Oc$by@ssb2c_7cb3hRMO3|%2t@*U^molW-dbe%z2tF7UcnWk^U|$NZ_%i(?MS; z9Efx;O`6U|17RJ;a#R}no^{q1aa>xpNh*XJj5Ky@J~&jb@+bJBw{GH%k;u)p)0X&esBHIBvxR#Nf%ySusXC$3|DD-j*#SD>O=rxau6r zP%`;az-SpB0#9%q584>06mN5nbZtKR7)KvGFz4T70pvw1F02U|};Gf)txs zMJukv?9jeI5bv$Fu$A8%RlF1FLf2>^9%l_`e9Fb*@40VyFN@rLcbLkjP$z!8hH{4i z4O*ZfT8wiN1OdlbUS(B&?w=p;u(W?Vj8A^UAXWd@{s3?fQO^?< zX}xT*;gxn7zi#%6JIhIXc1?+`vpOo4aoQ=EP_K`RDDwk}$Mz8H)$e;1P(^3uEA;nI zNc8No-TG^cRe{j(MFjmGJ7w}2#l*R!0OioKx4foS<`jtva6m_5PV43t-mGzD4K9(R zDOl!jbX2z?|2@&=1x$F+aiS}UVo4N&o`q8WccPk%wQ%3VP{&nh}d=ADM`)FVfxA z(Q$b|^N9_!on)CM&|}0aZQ$7)jPCj%23DE!yFK;hR5@=A1@7Sd;0*L~;B-!P1??Ch zMB|HsxpC2`hu8r@61-eLPfdt6uP1v|pW3Gy^wz$^y+5|oKK6+W|B$%njt>5!^s2#W z^1_-L5{Th;Q>j3OpUVA1Sb7@2Yzh0qdxiF;m?}PdwGzlN35U`Y9^yC-z+qLuzWHQ2 z7;$1IdYmZk#ZQizJaMK7%pNdINe1Lo%zXG23_kIAZ1E=SqY0d2aqBukPs z(l{2;G=$8meU3)ev8Q$2A$$`M6s4n_0Q0Vs6FTc$k<4pk9BSzZ zQS*fqZ(7}+PeYX=pz+CI8|Z${#}w9Sl5P3`<(T4J<2>}Vmyrhs`_auzn&f<6U%mbE zjo9aa$lGqcRz{{(eVqOQ!Z1ZxBhq4!^g^bkduoi!5Go=bIsRywG=w#>@tFkc=Dl8; z%Dy=0Pr*X4`vOn3c1L}{XPRb_ad5nSM1!+$$!t6UT03~vF-9v-t(AE6{2V{BT0GY% z{NVs{XYR1cszXe@G&g@Xz!5R-Ahu6A#E>l~u<=t22#a?*N6=5vE~Om_Cd9bMv?j>e zM@_R>BHmW8?>S$L^wpQ?6_uv>1iyJj{Zq&jz33Lj){0%lT}-%z_kD`o}4OYzZxVh^E#kV$ZRgGQgFN8;AS@A#~i&3Hrw*zv$*XNdapZ#DKM~ zM}OKYj}yV$KNkoW<(2nW2t}JlN$4J zU#rF_4(_O9gwcv5KI&BX0|w`OOt}aN4?rv67K)JjZPKofNj!%+QAg z*xV5yfm??hN%0(PVrM4)C4&k`R&3RR|0%ste8c*6a{#;w!vQ|&Lk|utrzgbjbzYAc zHJa>%IO1*VGK2bUHWljFatT3i>DIqG};0&>D=3$4Y>9sauU zIFETD@z5=ig#qK|mR{ytiF-GAl;X8Qo;Di$QNN`vR}5VBS-^SoQ&^!{;~^3s#wlK; zjo+^Kx5z|sKpQV(@vY{`(Nxhnc@mzP2qwymYTu5PYi5IMq=>wAv!Pj2z95U03)Lf$ zX{0QCz1l@s#1~Y8C0VLLH4{Xk+)1*r3!Qr#reJSBfavV}7SM8cKENA)@s%h`ykapAD$rN$~a^bxGMU{XPO}W$N=8bF&s;t=l1-keLhFCHkHUQktdgL7@s4~DVI9hnB*{oc0zjSG(Xh22k* ziG+OZI|68h?#p9+fRf3SSiQp~d~tpU$MUTna(JCNLOkRbFJ*D8_o@$#5T_~`U{&JI zs8fz!tJ+TPnGWD7(SGY%U2E4-am7Zw)Us0r$9k~h6~>_0n2X0A^(TqV?;?+RRti(4 z+0N#{C!4~%X9L&vRAaNWaz+>GWMmgG#F9zlIYfy{3FpuV{?}@D(!2~ExVo`G!EJ@(6 zADD-NZ}nQ`C~C)mu#T_^K1z)e@t6laf*tK+h?15|pzUtgt7qkvag0%EHC|D3eH#{);MDQ6wu0OJx~&Vk1Nh`Hc1CHs^xV4QdZ9Bgz673PC8g5L+U z0G4}as2)P4Y75C3B|Vm&R)tpX^;%!&RG5JP94_BBTzqJS#rZ@nCh-W5xbtL9lT`F+ z9b(Ytb`WEIgX)8||kWPsU8O{znm4 z8aWp-0quW{UA+X+**T7ecsd$5m>xs(0&N&i(egxKS4qNB`ooKmeHH!m+Pn1Eoh4tm z%8gSzNIw4G`A1}$X(g6NcDwV)%;G54F{95=mD4m5R3B^b))n^ne3@iN zS6%Q94*S6}5{)k`To?Rn@CKqsghdfo@{^jmj?{tr$QNzT9KdXp%nTccJ@EUr9Yh6- zTdg8#_pm2Hk`10yZ;j{D>jhu+RUpr(?T+k13gM6`Akjv2eO8=rm3|6H3`fo8s2;$?)!_V)n(Kjj zBOW&zhZNyA;ffp@FJ9sa_2lh~;c$2&1RF2)nOwN%yO-r*u*Ga@k7B1nUh%ESDuQuh z^O*bkF`Mt>af%8Y$CxfNq&d;mkEJm7$SqX z82m3B@5fKz)qS|m@iP1m{KOLfMC3fbRzE{`FvT39?)T^=R>;oX=94!VA1)Xt z@{tXjE%lz-j0#b@q27m-Pq0?>-o&`7cJ18lH#02YK&-(qKuyk)@JF^Mt!DtW4|$Xj zPoCr!$g33!T00h^4sg37$G;^Y46gEo(=r|Wn~!4sQ@_nk;RK8%?R)y`7+*Q4An=?o zYvQi-cs8OlP^q_j&EO`J!4EQ{dEI?b2)MzyD0teS7E0%}>sQggD$O8VZ?c^ zQ|cmEP-}BZ8wjbwQytA~D)Q$cKz?5P5kZI2X=;fHC>McR>sK8WT08#A&WlM zT#}Dc^*nItH}~JShvHPY2Yey!8RP-@YYfi&zTLJJ&CE@CSA4||N~i`)>MHH2jV%Z{ zxQeFltMp-rbE|1Ux*m^)4NLL1oNR{8c-y!pSbN5EUtM2(7rox!GN=Ncy(U?LusRB* zTEL65@QTXih%PZ=zax_FZQ-}RMjs~kdR}Mb#H4t^do1PXS>kgKHpz$ji6V%h*TN00 zdI{cpMlu7R`-V_JSJ|_j#Do==T%1F_g7nniI|f~2UsIYIBlZI45pJ|cb&nYPBsul2 z9VtuR1#_!@BG|UhgfakAPA`dGu)ibvu7@=spWGHxCO6B|Y%+?lrKreKaG{GWNO2}G z7N1&LZCr%B}^7cCm*k-oC9U zhNRjWq+2qMMEzNKMH>5ItKC(!#umwzBvOMRj%VpK8u*m(T<1%(jC>&5Z7HHTACITg zBw`avJJ5SJKHEw zT0tN2$&0GylN|X>b;ZxxlG+nH@v9Oh=t<1C&SDU@{F?enp3^4%QGCjyd^Q>7Gh0sA z$7=Zi#t+P)88u3?=xXZ3@|ecBA84VUcLJn0B%xI9wwOaa<@R;bWBGU2|AuurD@+!7 zP-Pi(Hp*ePo=FHwX+>T1$uf=7km8wZH7)HZnRIHcT44g}Y@A2ZMpAML_&yeCAA$$+ z5#D!EZ9z9S>uMogrs7$QXGa&-qo_x0SG#z14n|wO`%FMzIEAke^7~3yA-h*Rx-vN~ zy6>`)8+QU*g3cP6KEvN4M-G&1n(dfSiO~AaH?ze@6k}IMZxE;JJ?ej<5Q--)yZR zESxvn0#qRH%mL z1{xpK^_k4FI0k9_$D+HN6A!r46)wPyX7va};>^=j5_r6$xAQvHR}{auTv=$iPBZw< z^oT&BOb6(<#hpkOHcqUCedBR=5RSu@s!k`*9oqLt2hYYUW=-J_Qp1V}PVnFbNDdjwg}T5RQlO$h5hIw*m$s z4m%1QjGWY7g0!l;YN^AINg7|fSSH~(N+sath};5ClF}z~p-ijyClh!*kGq+Aqez82 zckJdUv6jBDsX*_Qz^C6<+Ou~GS}Z%Vkj7@;k12WwAl&-X*@)EIp-HYY$9kRYsD}By z)gr>$aIa6#be2prc&iV_R!CKGC=-R)OoDl$)8(dg79V{+=f=b_2p(Je_ML=D=|on- zB8$eAj1Ec|)=V=*5?osoMqDQ6ZOa=)^P6rWuOi74!Wwnu9{{;$U*fSa$8r`~RG`<7Q~MY{ za8rA-v5`xlSZeKswy}^Gi$_U3)ibVS_t-lf@dvE(T+?ciL1)Z6i=(_&OK_Hqu&dYL zNOTQ7URrJ{;+6jCk?X52_b1tSELQ80c9PS;dL<`ELaL7%1#o;oV?@*`+)4u9sg0<4 zB*$;?Fgyo+?Y?L{#g?Iiw-|mxnb~Yf`H~M3R@a`Y3)70P8v4Hf*BQOtua!zQSueEDvB8D$Ig`|u##a$Ay) z(3B*SQ4A}4oj8xRZGs!7@pO8)f_)DgE}VgR!CP4Pc-aAK$$SwrQJf_O_R^=jES^ll z1Eqb?)Co^2S^WTnx zj+2^Q4?_rG8;y{4-8Ev*0>(-Bdp3&UE9M+KEe->noG#}~Y|(vDrz##z;yA}U1HLY= z-ild_x&>H{ZPoa#3;OK`aI6$fU#_(oQr~C+SYWSr%`t`!v&WYjRxsL_(;UA1LfFn2 zi*$bY=p>zhl#?_=FZIf0tO(>2lcp^dRiU?M*lR+}yH`w5bU&2skKtipK zjUFhhqAIbpUoa+k%sq5;%qv2<&_h&|KW9bRD&IzP;J-=H-c3* z<6xUb<+Rbcv}~_@&Cv%8`G9A9SwFZt)|S=6TQ)ixd4z48<{Co7y(0a_e6S>oCvxQ# z76i`M6pgfNElE&$!v&(&9*^lsd^KA1(`h%QR!CbMQ{yk^9&ajh5MzKybK3CK?>}=i zcO0j)z_|5Mf}Fy#N=&%{tjq-CoEY6z+^$7+P^4h_+W}Y#_X~!{QOv^hzZQ}aR|`2# zlMEHHUxmuOOY9eL09u4`HuWp_OTr0ap|-8?zH=MDLeT#}vc8ZiExpM<`ggU@Dr3)wod1hDKC_(9BYbj1AdA{+Z)oH>cQ_ zEtzz&%$|@eF~)v$jfayv zsu_xsZTcXujDsYgmDDWot3-}opTlRsLy6Rk`A)ikPx*$;j)gYNB^}kdj&d+S7PHZ# zbc`=vI(~>t4`$;#)+m0nu_x>d9VhlBqZuU%jg7H17yv>BTno^JzDa8K8Z)WrzL&ly zT~E%Au($BQ%n=WEkM23$b*D1~t;k_sqHgY*K;d0tBnr%;+ zP&WH8lkGZlusdZ4{SnyWIIY$KFJEACrz5YCG4$W1>So9t+bsof>RMrZ;D-RE*YAUPR7pPSo7&eD7hVeL`VbIt@ zBrm#`2M`ox3+sheijE@>1$hb7$w6D!#Tlx3&r-f=n=hrfb{JmFPv{9<&fJ$4sh4I>augY(*<*R;b1BKgU4cnn3E|SI<9>BMa_bOUbsN&;q+&0Cp3GQz@?NEBzbt zZzXIU&S>mF-^s*HXINsVTR3F0Qs&p*3=siY2!7&0ghUL?nX>Ml({a*cWUwIizN5doVWv^P6bsC@s`bUA zm6xFhcrBgau{U^a!+^FJ1PX{kr<7simH`xHTY|jl!~+mJV=^93G~>Sed?^CX$t@3G zfPyY@w~0qCfaWmked2Xv@B}};nGJwRy7zcMLJ+;*K>VC(bHtc=^i?oybO0Yl8E&Pp z{|``00|XQR000O8Dx~d75)OgMR8Lb1!anZfSHaVP|D-bS`Ch zWz@QPAk^R2IR2V3W8cQU8#~!U_BBM7>{(+lnCvr_gbXEX2uYN!NM$cc%3ih#Wy>yQ zX+e=K%l9=y@9p#cJkRs{^EWl;-h0lu=bn4+x%ZxPjfs64Kmq^&4E*lz1HcpD;G+fn z?;kw)rR9A}3p}ED&G!Ui{F=|o3xh)jVEsL@C|{%-%FoX~2Uss|%5Xdb32Qw=I#&y8LN&svG4M6vRQLx(5P(V{K zM`J|UL7YDa2&k~?U_Y{CZi0AD5J4&mt}^8XP%ju34U$-|fHQyyu^g}z`E&n4%>}7! zhg4A>5M3n1D#}X`j3hLOoY?n-`SF1@MmPd4%1@Y~`9XI+$e-O2aIi0y1A53?ddQ=%KkJVFMul?w=h8!5ds;&iGl?+Ij6rE zSd#l60U--coIscO1A&wLM_cM2ZRvlsW&Y8Y{oOuLr36&P|0t0x_XqOrZ{!7nOI#rM z!(nfE!YaWDNCNOzAS@)AD9A-BPIu53MgsOdMwkx|BiZ3}N&Z|Q1X+>4B5}3{vT#DABP+)d?mb@PP&a zbSzKmK!Ah&OW4yPN2O$>6l4^SDiSboz=wbb)eyJ<0O!Cm85~i-G6;+D^TZK2V3Yu0 zMW9<-0=BdVXP&?bYeQYaSpv2l!Ept2eEeMx=SbMHr@5g31);GGkt3W(gwZ7qXvBj6 zc5o&D>W3vQ@W(lEc>Xp)4>TqP%19zX&JR!moFbtDd8{FX`VK&VmxxpdK#=JR5M;{137B*e0tQJ!kT5|U zQ4da#c^lw?F#zEJp?(RhQvwf(u!DpEt>6TBjmWb^)PWn+ieL*eqD3IYfAjzwdaC+$bfep0>F{bfv^O|075=E3&b2x570r(kc7TjKmrK|1Ol)L5L#D(1`;F$ z3WO3{m)Z6}ouNR~0gVj?BhU!rrNStHJrcq=1P*o(QUYQiqz7b)P?-p|iO`S;&56*C z2vJ0c0U1)&^}0zy@w z2!zLh0T3Diqad^d=0WHH?glBqjfnRKB%vGt3{Qw=$o_KAiopLKF1#TI5r5|z1`HsF zd;2eZkt7Fvz+d?2{%jih1<4%+)J*){gMH8%fbppl&iaPNdd~W%EKIbm0AHM&Kh_81 z3V5P}oDJOpZBMjc5Lli-2bp30-OxCkP8b30?tZ|5(+&zkxp|=vng%GG-Z@MV*g6r6 zaVLz0#`>Xrtgt9IG+=0n#)e?Pir%>(v>y)R@An&_i^YVXvA(E1LcV(Xr<>Dg2DRx`GRWNps*N}s}E7azo9LH{em#QXsfUQv;oS`-G|tp z(9*~H`yOHl(sePo03TGCDascOm|FW`f~55PJTZP~zzU5EI;{Ey6Y%ImJSYP&Lt$~? z&{o=3URX5B9kdG;;~E@g*wd4s&!4#C{=POC9OiF0Z5$5m>*^C`g$eps zG#2HK_C;a6|C6MT@j=_5u>=GEC-Jzyp9jV>7>f$}SF$b|=Z3`u{GAA@7l830_OL+v zpw1C%xc}@7E|hz)ThPA^8W4uXczXRS$u|Jy7xpLNaFK}kAdD-<2NU!cD$(qcD1uW; zq0fOn1vW7#AIy0)a2kd61KkEVxFi9~U{~Bh&Bx#K!0Lc8D%j7>3*9pZQ}77LE}C-SdeA@$qK0UTjN{MF@+(IIFb;udlXv&Q-W zmSMOcv@f9N7wij|pfG+!;fG6gNR+Zbd-#CfPQd7$b3+rC0-UCYKR7{5kiI|GGRQvw z(DnBP`|$KR9zgG*%x)FmV{*AKpt~F<^)@4fgRl zh1K&709(XlN)nI++yOM;3Iqe5U>yZQ(8+-y0D>UUf&eUta|3ZI0EC8s2>|bGcQ8VO zi1>kh{J>Vw-}*TdA{ZbNkOCt}e-H~%(Efvl1bbsaEI}R){D(Z`CERI2pbRVsF(9WW z7y?=lrTZPWk;E23Q!H2yA(l9h<_}_jOOYVfWWgG6!iqRT5b%3!H}EEP25-VsfC(5U z7z5VeP3R2R{7sHCNX3G6PvV#;LIjN8_@9*b0+|S95LiQl<^L=mNt6=;wy?yu?;mnQ zh*QUa&=njMeTeY^r%b5xA5M=Stot8M9ZOsUccKI&5K3GGuR~s0A}_%h*h3@u6ZsF! z_*+;1e@ykSV}gkp@Bcg(fWj2S8-xDXYkRk*f;)aKA zh9PQ*0nYz18%tt;f=v%r1(3D;ha({Y3y|Uq$`1m|f4W5w0BHW3{(rjT|Jq+!4>(60 zJ%Bjo!8|ZT_`md&`@d`qG${x|=1 z1u+Mn6hySA@1a)&5p4o`gP7%^bR==DJpb?+f^3334AC#$2}cTZXXs#^Y{JRwq1coc z<)$fMnhJrClOO>I9IPM^geENkKxxUy5!U1kcI33Q3{DJAZ~zLWr3K?eC?Uh31v4iG z48j+z(~^Vv2Nwf|76w4bY2hH=kQ_{W7z{z7B! z7UUuHqa^?+Ejd5}RuT9FVmDf%M%Hj7$asYmtTW)RQ6Nbm2t8T`d^y+?3U-2!6VxFm zsH4q*A+I~{Xu~c)oj@+E^cs#L)BPg+e>(^5I z{;UuEe)s;DPp86PTh7P*v3lpw#JG`|rJ>PM?mj+5+P)Bg)cQY+3?t@+pugY=Z##Gh zfG4~gRe>ep$$1(=eDeRxhm!dAlLoR9*0&Ta3H_S^;$sgm0+!%52Uft6@O}jD4?H0| zMS>+^Ln(nJ;l0TWEGfa#>p$clcoF?S-o=08o3;NPf6naR@iKP*jwg5dcRU{b@A$Hk zf5*GO`gc6n#J}So&HW2L3IMYIiyb7s{3kzw()nNb`~D06=6~TQEEG})0P-~dq$HS` zo}i)RAS@4!p@FW&?-xIE!h$+tOFh6V8f~bnZFO$+n-iHM)9`A(vnzu_R=cTdOGW7j zWB7}d=i-TQ1Tz9*&cw`V!_-2_QWfg9>~#BO%5%4*iIF1V@5_7sLlVkw#D7gTPK-St zTb^$tdop%(b^Z0%XJM9mWGX=m0roq+ldy%p!nO;2%y?REQ)(y3Lf=gL9}Oj$7?wC} z@1$CsXJvltuc*Bk#i(71{hcYYy@u=l&aEA(yjx98n;)n;vyTbvZ=7~6i3ysDpt{$z zO?vchFZ9Mcbd1=U*|o3_1%13_`u*s~(xJZ=otpC-dY3t2zj*bQ_Xn>#YgZU+>f}k( zZ|0wCvW=9&&~G2NR6gIng_~b;!c%QXwS3v||7wyV>TZz1llV!3QV7d@ab!t$o6Aym zE$%iywX^!=Uq3&aD}~Hn^0?$AVJ5bdSt(&9=19@%K-)im>tul@xoVq0YsOgAR@DdL zXV0&GPLeKk=Lz+4d>UOr|CKy)n)&juF|S`oz0=C(pk;VQ(GmBaH2CMN75t0m^Ph1R z+6x!U0kehS{PB+g9_r#d%TfCzDYNPO9o*!pt_m*iniaNpGTFC*o=eC2Z`GUJt!o`? zni7igQ0Wi8bE*Ej;jds0FN?=~5*w%b=I>MYkzJE@B$;?}M!}1u!NGsWztz z0fTdaXXzvE%*^k6DzJP1(o7?YT{KOd_s*$XdHYL)4W|QUze_4zm}M$ct%h7^2(vIh zUz~iZv8*CM?(;K^RIx%jF1{F+SS)U%gY(jy!uR@hGuV^Mv}IFd+XLS}nRv-=?xvE- zxOqzG`sQA3jpI|ilT7!LeRJqDWrnKm0xk#Gc1h6H(vea0-cY;0dp_I_n6y^a(al8^ z!Kau?$w?)7X_M%ruU|72n{_)cby>8oyw76Fl!+oT&8PY1^gC1AVkQXbd)*K&GRV*K zvh|ZU)mIDsb*jF$oRsJ|aT@lafG!2T`T9%8>#-&?%a~NHj3~F2Bc-2gZY>6HIF8d@ z5vj{U8zSd73;0*=Ez&%Es=tVvpkC9Ky-2Mgb+cBX(ViJ{CMvM9zOT@N)2^avZu7hs z_k`gwo{wC-R>^#MyFaVk7#A+0V8a*m>hIhQmAp`C)55wW`>0EcZQ^`(*#`Slte~z> z_N$vA#S(XJ-nf7dmp%P6Y+rgUTBcy9>g@RU+`GEGmHK-4F%+vv9^SukTmNyO&UAXG z0`y=w20#Vzksdeb=yikY2u)F*>{zNp6$X;MGy5|eZBip%?#I8*&wKTTEYe7Ln5u(SkkZWSs)^_@(mqj7BPfzWw4 zhMu$wP$`i$^!!v^Yc+pFa&xNqH90fYp3mkM#eL=q>f+TW$1gu(XX2G(cy|65rK#Yp z%WbDqTd#UIv0q4ONve}Zv-1vlt>UO`*{k~QxwqcS4qmjxhp&7n{P?A_n7oS3^GcC* z!G*4;m#3^-zIE{LDBF|%2;ZC38;RPY_fdXGLVHHz6{|=wJFgHvn1ZMGoV9;bh;*|pS& zt`e_DieBl+m;P!(OGo`+uWF&VtvliP(INi(Bz5bXr0*+E6_J~b1U|TjySAP-_eFl4 zhr&Nvsr2oo4<<1wA}U$zVpK`gNf-0rqhb;0MP z8=pt_kXXTH6^%)~!#J@5%`Ovq;irb4?Re!yufJ=+_N0_qtmVbq?Xd4(rL+zk$Z?RU$^hk6HHbg2l_=p;lv-#QWGwzo(x5d{BG1K#%*)%%2urD!{ z&;mU?+~{RReyQz4X4DwVyiP3i)67EW^PFn}uNlrDJ8xwO2)yQ~dZN2e8oBw%K_T{I z5q-q1&)zRSPy~F~-<|Qd7SmiqB%jfQl=$Wr+vX~uo~?TJJg}QD5KeeA)N{@9X|2t} znmn0%ZMKt)KBv?ocau}AJ61;98|J5t-zsb1JsigZ*!pC&5FEn3d8Ef}lJPoH@D}w@ z*??YaXySa(ERLn-POr}}c;>B;Qrj|6a-Q&4)6dttl zA|xqVMdP-`B?t0s8>%M?K^GpJ`1YUHD1NN3ETOZ7=@j`@pb8qRil zOL00)3V|YJN>4eC-5Sl}TG3%Vul8)qh3!4IR3eDhL4o6CS-yb@C#ivg)I0i7D=!Gm z_!rT+?XB5!c`5ZY-Nn5qL%35#~ElyuEz?!lVTp}ylr?xf7-H*^FC{NYo-lOONjIF z`ON54wyrgYhXBk=kD@eBtGMVF*7FUVYS$H=pG@bh5p(Utu+I48xm`!f0V|>^j9<47CatXsNzi$lKPbI4nhx*|5H1=-X zM;i~ei`C9`oRoRkV3IKy9ip-*VfW; z6liz8tYv=MR-$-(a{^*X6VvpoRl{`#RZRYwgGno(?Sffb`H|j-3I*8F(C|PX{Q$TED}=3Gj-Y0(9>nAn8Zfl z^GB8l%K~P(M~hmMCo@RMDt9P--JV6?vEoXABelu{q4xz063Cm5#EQ34?!!Kp+!(4_ z9p_(dcFMEhfru?Gjz&ub>|G9>XCB)DN}Ga=+41IW!6)SDK5cZ_RfzSU zl0{hx@?P{4H`S&})GBAe%l4)A*FI%U_EnF;EXYoV4?O)YgPl++3S@l4+>@Hqo%$dq zzNIG)XS)F5JFz8lQ|5`#Q2kjlk6~REMp~)Z0-=kNmtRo!#Y`tXuT%#k8PT1q-2B-Z zr*(Itg?6N(h2{&GsI;_f-_f(Z^LR4xsdovsvXCtm_Q=)&V2gZwp_#J8`$Tf@MlNq! ztC7@YKS@!jq%BZVI==+LJvF(gW`~u#4UbfoEK;$RJT7d9kO*@N-Fm1B(J4sfD$x}7 z^kILJb;=Y4x#K&!ej_5zkx!}19OnEra!_#d<$O^Q@0bV7IqvEp16>1Wn5o}SJ5K=? z7C?ta78>%rz8;!a2F6rBeQ4}DLZi`;!jxK&Yaw|>$pkJlHA zfJ#UJm!7N8i(NSG@O;~g8KM#$LOt2sJ`)F59(@^PdTa~!^rkjKDIJb%{?x!#b;Jc> zC1s_3^vVKTnPwq-lWOyMF_+Yr0*RBaL@MY!b8K>q<6%^Q$ur-JL$dEbx2aE`q1qNA z`>B*f@QN(h6k9e%sj|a(!R+1@_w#{CRsA1rR%T|&JV2M7vUlQp9G>ioy;lZzK~3bx zAa(Tc9UZ^kWN}fuN>RSr)K*F2574D*-ej}sFW4+v;P~PheDmIxc^_}V$Q2*-X1^`a zO2XaGZ^htiyVmMi5ryS?B1hRc^6RYmib?8=h&1Ji+d`^jSB&mda|sB^kuldB<}SRs zIiiy;$oM4k#Zc9q4K>42u2^0wr#&n-!_NMu2|}p`w05t>PnX~(q4bQ_r?0+WymZkh zd-Yv~tC8(eKC&U=h#RESW&3t$={t_e2mD==$ zsgj~;%~|T6uWF;#S$%oftb~n++nr_$t#!^Pq)!6{Yu~>xc3JzJ#}=vec8E449mDjV zlGaJt^%{$(CG3qWguG)m$$b?+n69EelNI>B>WEm#729OQ(7k7jk%l(x*M5G0P_#I% zrM&+@j!;GgPCO3p6fU)Y!l2+}E8W;~hsEVyWdYF|Dv8sa`&S$~R7ri)1|9;EcrX}Q zZE=(6Anz$M`OYDdd$apKU=iHidG(lkl|uC0@Dn=uDvbm3GbCqKik+~=O_D^zG_b@ zrWXV29uL;D-+u5RIAn_O=F6z?towA{(CY@H++Kd!&R62>q~QWQLf>3Ya{kWFWxgnKePv0r=I93O@*>3(Ai?g)gS3#ubO+f31%EO z%SxJ~744n~3%Q<5&k12>o0S%N>;G{ykRFWi;;)j zF2*?96w5cpn$6F%AH4cx%|nI%@vWE9-2+N@mWzCLETu%4EI05`e*d*|PIJkL&F>|F znW%gH#U$5hV!Lv0zfZ}awgFbD-iEAJ%cH8L)cm&kD|)Jy!oQK9N(vmy@(MggIJ-}< zM7X&uHRtg;lxFnEXcUZBoi*l6cWoWZ-Ac{wmUx%6_2x^@izPec6=X(T|IAE7DKFIK zyBMdyJaX~IikLed~Q#F2b3#OXJP4{?KwlEY-@O-TcK*nE*MUV_R#ocf! zJ#kZ$wNCnsiuS%~_cOa6&07>r=5d(yl;z&jKV(BAoe;JfHg$l;376eTnL%$TvlE-& z86UGSWN@MbiIF(|1~l!*`aFf~jVe{r^1DlClN5Hq^lba<_S0zxO|YW`Zxf%Fki678 zeB#U3o{v`tW9_1gnVUcI4^c+aGrF^_l%P3Up6>OOzUlaRp^J~%a==gS`R^IeMb`@V zUeP2~KI(C|sIpocGD4{(5ba#PB-8LqzUxPiF2o@6*XpI6U-W&ya+H?Xm|k7Y-{d%V z;nsH(jh-dBMhyzdxi>f~!V-8gM$FDup|>8VIj47AfsL#TfyrmEIM%YN1}f-`^a>PJ zM0-;+meBL%MavX&Pvk{?%<>{XqcWh<_LRTse3>7_R#T+g8wwlvqNg{D7dj50V+ThH z%Zzu=wn4rycSQcWs=;*?Zg+!>Ntav2ms$OtS5hP+<|?O}E;sZpt%gr*UMzlynG66= z{28V3q!aV z#WF*(LOCYYGNsqO#Iq^hWzMd@T;=Q0S;QzaYu{5_>Z@{hT9KG&UJ0czjFqJq-8s$c z7$@l&+WeG}b9(bihHm(@y*X?oDZrsq<%mjbvbIMW8@K4|PVwklei%wh;Iiad- zGL!RSWj$5RhaTc* zD@=pgii|t@9Hm}?5Ev!cd}*l`f=gXnDc1YpSPlsl0WV}Np`NvzHgWZiZmMJ&&ZpMP zx)GBveqApdNIR*E&dxN0+1izu-#c&o(j)wXRH+p=+*jT9qgpX1hFku`1YW+w}s8vZccErzeUc3TPevk!yMi)!PzeD+&v zO!e%z-ype0k#2=+n$nVJMl}LC)FRd=S7okA?k}rbV|mI??E)Agbo`8Y?HTHIa^*_& zrx%JGOd4W+tkWC|>vnwRXU(KYN==KzHc=D^-&Vdy6kF%X$K(bT$n}p39H|D1R8JL6 zc2&WuZM3!r7G1P^-}lu-SRzhalLb(V_$9{lT@y&(zZ!fL_{E5{1?mLX-vMZySo2*sa zk45v|(SRv>X%LjqcZWHow@tALXO=d!s zGk(AlWfc(8Z9mt9Hz-M9)*7v_Q#R@k(N#P~JzAU~lE5vx33Ss{z6sBW{W9XP61$&! z?dKg+*BZDHM6k@>@gDrn8`*HG#+9w!tsc~;Gp-jZ)t->*9q&F$L8G6v{Vhi1#}UA0 zF6woWHLAByvVGp}WVzKv{sr$Uuae-rcGq(nB@(4O5{A;o$tPKiNm z6{&(Kbd)JX0(thHA&o5gb%-w6L;3ycdm<*4>-KJ(t&>J%`)*qB80j6}A$gd79nVYm z2;*oLx}j`FygCERM&6fz)>JLJu;Qyc0Y?^-U%L$=H=$m~FR}7CQcmJVlu`^qk(Bsr zTdDPf8%34$x#jaqXQpwxFVv`$sC!Dug==|9NH|ChczAJImerljM|Y;!T%UP%dc-kZ zaJyi{p7%5S;!%2%TG5zyZgi{4EP~CYy}Z9zKHRo1j(HRy`kn!Qb?cOaYu8NyV;WFN z%?I90n}bVlT;ny`%0=q{SzhF~S6 z^DVnU4K;ma!LTv!n{?J3Cfm6NpUJnn^DeH2OZXy|cP4`c1rWU$y*o4GaA0yUbJU|*rS_HHNAAG7i^v@x^^N=CXlp<;p9rLz{$sY;&`9u zj`batc_)Qwr(6_E@&q*eTVLLjIrn0vm)$ISS{wy&nI5cfV7(E`<_&+$;5op*`7(PP zCGp*YzA{6)R4HQzNUn%fS`~JHH+S#wz7=G9`Iuc>O(|OqCHd2qCQ-|js@X1@wk1Ma z$YL!-hD<>$M&~_M^QW%6@kVhJ6PL2JJ|5KygyU&6jOL`YgWlvN{n}d6@HiY>Nv@2! z-z;OAGpf;l!KT#a&QU~uiK=>fvjxP8*D~L&`jj0qT;mB#Sk|VRw|PKUa;X-=s|(t! z_<3A-8o0%=kUFmFVanydFAT0TDaf^rAB=BfB2L|7e8{`p~Ba4i`I%k z?LA#uAVSf4SGkiPzUO>ASQ3$B0Z826{=jnQ(l99hl4WPkvr% zI+xb+;f7e)vvwOAmO7Y=``$asK3m?3^9>IjBe9;@VTM*S4J-Av)W#8 zzk(*ULT;X|1!$es6KNcTC^T9(ZOgEi%x~Ia3=F5UTuSolHK?d9ZckIq4pr!g+m3o_ zAo9Jw^XE%Im$F6iqlmn5KhokRFG`W=r%i8@ z2Vkn&WvXSl>wR;`>H|`*OM(mYe%CJem$FE8PJ~D3uEU5Zh1TB~$e)D_B&gQ!+Qw;5B zpS6bVe)+|y+Sog(+%f#r9m?4Q=rI9VrWZ8kr2<`aXCTEhpKpJ$Nj1MX{h$TfY=$XI z7u4Uh1GBU#T%?B?b5L<~piU;+nf4WtyKsCH)x0SAb>Ulr9~gV}H1U00`V4nO@jQWh zj^mBzy5tMmyn31yz&-jv+NYq|zL~ops^x6>Q}$>1u_+`sRdpgj_0$E$YVpaG#K$me zQiM!a+I2I-5;1=BJkJl0*T>t%#WnHeQmr=m_OS>B<+275X8Bmn>WOoy^?S!sEiX=w zjX@V!#;91hY>i)M6fgVO0Z^|b*SFJSe(x>Lbq-2^hg|pM!y{~o_h#cRFW<2Q%DC|I zjJnwaU_Q>xCj3pdLY6U4BGS_c(Wn2s9~rgJ5U^^_nEoGK&5yrRA1Lv z!EEUnsoc7+%vp}LNsA~VzJo&QZ$-1wY1s=PPiZQ;yp3whqbvwqB&|X<` z?){p)QC$KM+nOzl1U7Hn{M45meSvR{E@4KGI_jh?K%Ns4ctxZx#)Q-^jhX}Ahkh*0 z8WnKwWB5C!Zut=W0t-IOC2%O@U4y|AOAmbPvRGcKujjI({MfI}v{g{)RuD_~CF`qd9=3%GpEKp$De=}c z`0Ldh2_ZlL_U=YtG##&|m;TDN$AC;vWp}B{z%*W%Z6n?wf8aG+9w~7#P{Oi z7S*{G1CsnhiPOV~hCz&#N8-9U7$m?uY1W?7G=*k>KV@2f%4=Q@gcA2vi6S=?e+x*FMNqte8OOv+RayxhSb&xMSZQ7jL^UmhhJB z4G$#{K3u+d;+VNfkCwL~LKF>gk*+7XPWRvqv_LG*gwhDzI#^0>ta;Zkp^j-oi#l8s z$f4DWxqjLxrt%Rytu9K|@aL=@RU_WKyw%0_p?1v=jqnY%g<7N;lR7x$TPV376Ob{Q zD)eFa?PC$yuZ4h@Fw76ap@-R?2;M#oUvVs;>sF#YokBgss$Qkd}U#RooPE&h%`TVS+Y`@T-cxEA5!( z_u=#KuiB+TEvMf?mCk)SU3$#kK1!=z0;uf%=3-u{WVbb31E2okM62PQ4rBY4V4iOg zt*p#>@pJ-sV5mT@>O(%@Bi{+(5`UIwF-0@5G{3ZTDC}Z7=HOcfUOi95#UA-U`gDzI z5=kEoh;^1hOSzU>>>eBu4=FGp;Y~Kuz!*l+Egopx4jMtNnZpd%4`Ykkm{+ z0jfb|m%OH#8Sz*@0$-0BB$h z7QFiLXm8dB(URMlhNKMmF0FHJ3{Td&=;)j^_EHI&7E9o>Z{Y+z&yF50v8(2ZD7Nhv z286#$l&Tiq`xq#2lJrO3L`H@M&J-|F2}o$sY}*QFRS?>I3SXfBFOl7bsN3J;H__K< z$7^#~B^Hz&ZbHfJnYvBh3qMDao6yLYg?iphC>7ExZ~#E|Z@8QoZ_DbeEUDKLlHN6d)v@w_6^)$%ubb=(~G|^tXgn`d+Q4_-96tM>Vl)7_uVD*)!MFqr$AbWp$VCp6cW|g6fvP_ z^n*mi_(5#dm`rSpR}2K{7B*#u{XW3KVi8sy5fJ}HBdM?#G* zx{=?pfjQR!8rpS$M3iUh`gH56c($ZwSa^WVOf#5G75c_z>CQjO?}umc+GV`D1g@MP z1ibc&d&f@u&=~!CCGsJ7u~NKn)_8ICo?n7}mD>vGQFvc)3UA$Xvul^)T?}h1y7F>4 zPdR(buq6Hzs7%k4-Xn^*K4JG4j>k_YHQ%s0z3KI1GzD$kKeX%r*Y!objRzNrU;QCPu(75WETa7CF-Yb2K0(>Rg@W#d8smQ*s_kgspaZ17W6k1H|wxktm^i%qVV4hJ& z@U`)I+mtV@mu7V%J`6d70dBUM=UI4KOGj+@&!yTs;j_rTHS(`u@YKGE1S8PHQT9~x zIVS1nk>Ti3(1UEoF!MuuS9IwHe{idYgG6Lsjk_d1UDO-yTMH0@nd(Uh;zoDOY=kPs)j|MMJA*Ql;otV8OGVOuKH;9q!7nWv`1(xRd zd@_Xvs;k^xD$1xIbixqXXe;=NQ!1}AOOEKv@S~fHVIu4+bu7q7HDNO;rIj{KVVV|$mghq_d2 zC75cOF^CHJX@1f2?(D|CAp@SCMx^#qxo4;WkNDbiUm81c6Ue2?gy}oSZtLFJRiRP4 z6`5NqtWwmL>{s=*^GI&TJ#7T2gdc>h?EzNRc0fEOUNd5GW_$nJ)bbs=ESlB)yG{eK zY+H~JYWq_@v?v9pvP9Rb5N7hjEp!KFvMJqFGc0T?29(hd{$|tV&&?4>ezu(}^2gX( z{QX1mE@D?M-gYD760K(@5q zP<(#`sJx*u{-Lc$h%s){cR&M7*(5T&DU`zJxin=ZY88ehfj~FD7tn&mh~t#u4!|`k z8$7$yU9GNhq3j>AtB>Dyjv7~da;g;&+if{bvSI$o z3O4c+?Q;9VtF5D#72-;*z^p~Y2GIu#zv_DMMiIad=475<9DTlV4`TS&$_7nX8qarZ z#Mw2>)zoJjtme<(`uKFQVSc(y?^6QY@9K`mE(hbgF0PabB?yi1u{h1Wi0{0&DQy9i z$#IvUFQ}Ro!2&~f&XIHHAKdZoL_?;>zW2r7s`;TA^vNK8M8=K~G&16(^w-M2G$lV7 zd~Q2!u}-!hW1Jq9HZ;7-(|sEl)eW7i3KXG|SX8G|u{zuK(S9!A#}KAe`SFY=svUbI zW|BvJGo=&T`Y61HsmcZ>f6dw$J8TsV95Z^sks$H8y$8&0xA*4;aD-=lKZJ~HYS1q$_n*JF>)_aCY9FMZ@I!I8;nb0uHx5s7gTx!2n~U(`%X z@w9qeSrLQSsjNl;YZ&&Kx-YyN%=$FvrO8g5SVEs{Vl%*!T0Gkgo5UoT42lVe2(Jw> zo&0(&x2@n)o6Cn1(GRNzlE9_#r4IqFYY>mg6~*QKkE+7&?42H;t6Af|0>>L{ysk@A z+GBgDC^}g=ntk3Q_Bbss{_R{7FnR{B#+&3U4rU!zBTGrY5~fPA%li({5c{7wpKiy) z@dfuHT_|jsFWPZQw3@~Q%)YEr#NnN*>V-k(r0lP75j(4 z< z-cvXrKdS&`p}n-IIxoXbr3`o867p73mzExz!2W~kBp5>HLSlMH4m zmlX~v>jZ7g-l`iicAD^K8Wm{+JZ(*pCQ}yH;Rx50i0srNFqx#sUt#B0)upF`T#gO7 zHQRArH-qY=DD)A`X5Go)E0gYB&&?e2epHhLb4#T_$ZC-I68eIU4ksL z2DmiaCqh47%1iCV);!-m1|51qWzRs#y6h}mM4U+X)$${xRxJ2Sb()%_774=NI9;T_ zCHlW*G3REg1Cpb|MoqepeGq@~@y$)D8jnus^8N)vq#UE#yVR0`Ye3D{t2gt{BwiLV znyR*d*{YE+p8Z@Oj`to?TWJebMiQPnyB^#PSl)`9eAhHHz>@UFw3w;oa>2E}C&ncG z!>+Myr&D#VnFs6g?(f!3weVJNe0>1KT&JBeh_S3PKB_MvcBT4@i1x^R^Y-~_`iSab z8_JVZjRUe~qfoY~5GLxg~(@3HXzWknhr3%--cxjjQC1fP6Wx zanl=jstj1zFIGk;hO$%K&e{FwL=`3=rk&Dkl&u_UpCNv~b5d#-QbL-@L z#&Tl=y=B4lB+A(dAzH_Y-vuu4m|HUKmJRK7%{HfBJwpXmt~RAkCT-ufQGU=djo(u% zBE9(}*q$}w>c${^Uo*4!G-=9}aS?}TR@nC43rAn|x2w+U^-tanq4V&M+RG_p@1CA* zeSUt!exQ1xGp*q=&rzKk_2`l3Z2Woem}zYP1*Ie z?e{gK{bPL29OW9kTf4nS1W=sy>fb-5+wsC%l zD3L21T-~Zoi4e#vc2nlF~k)9 z;Fl!d(sMuR2qhZfTIA=d+Z=k$^iTOWgVY|&j~!cJHNV%Lg~#19F&5eMdg3u!`L1`F6hL3RLErV=g5y!?EzP+AGY5`uZ|=&jSY_`j9KXy zk)IkNF=$J3w?~yDInqaupnuWxy2Ra>ka&su60>|RCbdIRY67r)_9`eU*_# zW|TiWerB$zS(XXlcaT2)CMQ9c>RzlOV&U31Woe`yowlV?EWeC>qEZcib9v(pr@JTD z*Qv_84VNVK5iXxf27L}ESx4-(mEATA$ORr=ElMR>@kFMYXE#D?f zBTl}h!|jAT9r|sS-(+KKpIe@$Wy`6({F;}VG)&fjpjexrmPw=XIfV>AHLo|QedTv$ z`c8;=Gnj`2d95fk`CIC;a-8AwC<*&fr5c)u&CTfS6Ap=Z>q5F}Gb;#^lI;3ih1!#s zJ5O!HSn9BS55$>mZ`N2pV%^#6AaPo0NnvSjqSW*0tPv_u@#Bhc?Z*a_ zhsSn{vo=ejKTrbN7V7aZ_P2N9)Q=yNyC;Vis+Wy65EcBelGyAnZeg9M)vhiX8TVY& zd=uyXN@{D*(@#X_bu~@PBg$h`ddSe`RK4?=ji{sUBOJOenxQ@#_7a}vUBfy;%rz3! z$ro>MnXZ&a+(ox^^peSc?eWa5A^-M*ZO1Vl zeqM5p$x^)z)p`<}IeTeIx-9ydQ{Ck!=Y>J_X$8V$!;Bd$?uKsnJ;GUQE} zqULTcb$Q#2xw+rowzon>GoJ&Fx3Dk$uwJLZxMND4Oyso4&E>Zq9~sqbl}HhrfLq9` zxs9lP3U_KJM7E~0m>zx*%RhSgI4_;EN3c-e%&=08!pQvqy$9rdfx8}i0u9{-6U+eJ zjU5O%*T>puqZ>X5%I1MLd8@y^k7+-h&ee1_q$2z%C3`|Labx`F@?Bzej&6V-S#5r|a3 z%H5$IchWaIrDr^nqAy%KioU^8?>2d>19kLD*72`WQ6VB)_+evSQ)A;=CfLw2jipM8 zrw2d3%mW$MS;6ebzAW)#34YX0D~k(yv6FXA>Db=8mfn%ju$)%cFXyD2@fHwFyjg z6pC0aJ(-|E19R)RAUzj$X3EUCDvyiV-xhPB>bt&fDh}hb*Hu!WnXgs^iY6vuwylI; zLg)B33O3h%eDZikrT~Ta*%%4)qcfg7N)wVd_3OQ0KYZ$kLX~Ytv;MBTWuL(qnAFO+ zzaTHT=OE@G0hxAp{Nnx^M`uxb}#y~SlzKY7@u@;jNI3+kA!=&cPq&@+_oAWPd_5kq~|!tCv> zhw&6F7Q00}>sRlLNI!I;**Xt5nSS-MV0~*(FlvWOGA!Gn6m#_fu8=7`e`Uo-S?!1G zXQ-AIm|r+b>5VBQHoO<_U|SJr_Ep}vmK&hsGEW3u1K^A4RRO+4}uZtaS{uKkI@ zj%3B)Vij$0ca9xo(@}+nvd!j9KGKnOv#qEu&o558y2BW{xU;}7!10FcrpVe{p}Wcx zG3C2pRqloYtl`~-!LF&23)FF|LI!7>uAD8pw>6fOQPowYpx$wsv!oM?gHpMu_P^ivlX!t(EOzUML3ypxLqw$qYJMn4@D4tOKrT4}EZNn8a)b>FjC-hMZn z>C?DJIr60V;>=LS*pd0{)wi+xk|SBMpV;}78t|`92dYPK6K3Hb6J`;ZMdx^%xy09# zV(8868qxrEeGiT#wot2~BeD=f6Ons7j#xh(5~&CNkM+F`ufcDP`!G-j@VHq_8Xqt| z_kokI<;A{wzDU?2xNaOLra;a^1#;G;s9s+_g|%nH(JCM46W(Xrn@=hHZ2R!kQp**g z!gnQuy!nTU zpI`9Xzth^!sTT6wljC*K!f;^tnm;HQ5A7iqtdAWZ7PY<~jzn3iM@9+PeNk$rlzvot zPiMO4P%&s`f3aP0eQ^qL(5Dc7gliYNffah_Z?(_+(c(qA$@|6Ar=Il|Ht-R@LFB>9 zZ^k&XxGvgq6rF3ss_JCD+q2yE-b9%QzJEqlyoo3uR@Qlm;8g9N-xloX_feJgUJBNiXf!ajc*MGO z$n0AQG@cc=_fI~@w!)D}yZt1LlbylR@rm5c^aQ21y$ZUQxG!L)W;3{2O-*1f*u0H2 zw^exi?On0G2Ae9^FW%BKmk4REiNz`zs7ETZ zGV;|!)Hb5qBHR6(h$cwppqjVbT*0^Wy`t{x9qld`^*%v~PxwdOCCfLMabMKA?@#B- zGVKjoXCeq6hkNvD_DI)?v@VQ3bXwUzYx9YDLM-HlJSOwiYGTQfUfJz-AGgn#nCzIB zg=H6q^Umn-!7;PrH_x0e6!bb@;${{*rLH8XU_LXF{ft5)ZyYXJ$R4j?p{+h`*1&k? zoBXGlh4vX*v6y?Ljv=_s(nVWU+1BD^7B$3$tSbeNo_&6dF)zRIEl8oz!FpDpeeIgL z=hxh8=}{@N(pH3D?p+@g;%&{jX2hSM1Y+osHbrt%Be)UW4cQm0u&s%wM}L^Ur)}nB zJ!WVKxN$DHc08d7^>5zqBCeWrMVknF5}tg6u~6jo2hRPW$YYE>8*d{y3t{f84o3V1 z?$(aaB^k!r_N!s(PWx1-oJ5bsgVV2STX^YwAL4ztw~Rzav3U1R zVikT|r=DJgmIoD}lH7RkjcD+>!N6i8?b0q~`Pa{kfbw^j~(2#XCwtbqmvHC`8 z^T46SXQ!5~v5_~j_QzmFMom3Y(Y+rx>jVo+#U-mbb0cx0R>_ZzM3VwSv1_ag6SqAz zr@qzieM8|sUJ*(5uP^DEeW*?@#r@z2lTvL<&g;iXhAk%}+HS8LCtebJ`4q>nbdRDD z2f@6Zs1U)S!mRYB)e?T0)*FJXzBKIBQ&j5c_VN=gJiUE26YuN&zy*nd(YBjY0qifI z?lv%J70NJ*@vl6P-EodmD8mQ3HxW|x=XOgA&o~$oC}|~5id{-lP;`k=XvJ?22{7~y znKihwzggX+Eldz{4hT#wLB?p8YyHeQ7;J7n+_8^e7Se}T(XAblM7%s~Ifj3WV0aOJnA7K{ zcK180neX+Y4^yES4@|<^C55{(1t^>)j`TL@?)OpPTtBw=U%KSDgs&7!%oS4s{Qh}! zq&TzNE#pt-fc`B6ZFK{+3Kjb(0Q#>2P)7XM_w~5}`u7`v{mHlV|M>#|e+z`x01(;0 z0huipps>dUryTGBwG$zraUue=&cuM;g%mJeAP3B@lz`cd60o?R0_>i2fa4-P;Pheu zJl;%z@6u^-#)lOM__70`%bY;Oj~j>u@B)dzGeGhRKadI%05ZWsKp|8ND1}P`Qa6a7(*kxJ*hs<-pIok%f-nIu9 zb6tRUzALy?=mC6-Ji+Cni@?9w8w8eI0$1+(fRIu@5b+=gL_P=x*B?iKn8%SIt}+Uw z)W(DKCrKdlX$r`CmI`h)W`Ns`nIP}QO;FHu8x*zVf;+AG;O@&paIdWx+<#R99=i!1~S_ z*xcO!+k0DJ=U@lyf8Ph+kG_NB<6}^P^Z~8NH1Hl-4d#&p0EzmcZYXdH0-$6BfYl`c z{89l(t^(je9{_FZ01P0>z%Wu6Od^fJ9EAS@;nyJi?jLwTP5_LQ0k{OMgH%5Ns*(Zd zdjPjy2daPs=mSb%9cTk2nH4|^Ujj(u7=ZN21IV-*fUNEW$bqRp z@GKBs0>bM-ct;3-1;Qso_`49k7Q#0}_znmU)tNR9;TItM`fvOhs03Z81b3)}Sg3@1 zPzkS~5@w(h*2$1yQy2-hjges22MPAlkl>&i2@VI4zwz`Co*%+1Lin=~-U-47K=?Qa ze;dM=Lijoe-v;6PApAIlU-<)%`*Q?NL3nxye;UGbLijTfUID^eLUr=q!A3k>7pB6%i*uU$~<3 zwP6ImTCa+_w?pM%SRxP>7(c5qMIg?hukBI!DnEO08tOXgUIdlHhPq-tk!L_%v!Sj; zPuc@x`#CrY2zMQBv<&ah98};yUGt(Zd34+na&YtyFr(zpBh-I3nGYqy{d3?^*L*+Q zrh%|I8B#$Q?9^|O|0s`YGPJy*9mj?iBKn`?iBV01v!OSM48j5SKgq+K5Yp(agNYhW z)BjoC3^kxw=rZ)vEb0;yy~-GWW^kkD zOYmep*#3PzAP~B23ER7QG;PCyP>4rwSH|iJbQ#8?AMNm z_S|WYUxP>?DFDp~44+p*`V7ghv4n=o1KLCcf2k8qga;?=KL&OW^nm=KJMnE0F8@)V z&^RN`6a1+|p)}_Itgq<)sjq(PL-v0s&f$!3N41sv4+Tnv0zhM;fcsBrJjH*bZ%_0& zGjy`piJ>QsLPCNZ6=RD*i{d=0F~s2S0X236nyB+aor{P8QfRIWL|p2q^Fjl4UXXx) z22_(^r_q`c;g0%)o-%|H3o4!JU&K#34J{1?+rL(it^COtbN?H0DEvIPPVt^a37_RX zb#ni&ZTTHe)G-W44}s9bIk_hI&(f%H`b3I|@FYI{f0jlEK~@rI$zhVP3H}$t|5HGs zL-9K#avJ9(Mx{aV5dey)7_y;BP;n~&7^pZBT5hNq4K99njEWPKv`Dc6n+1`Kl=T|>}_50U2{2rHIdOg){kZ<%r~E(?;-)Bmsu(7Y=B8*~8u@o#su!aQ^kdb4VVnjqiq{0j z@mgq}dM?En%~NgCOo2VbQ&IfXEyodf<~XBys#pF6;PVGh^(*#5bJ2vVXmF!C1|-+S zfz-N$-@G*YSsKV`%=*nqe{s?3?#F1}+0g$4%{#kB-+;Fe=X^Kbh31^Y3qxRRaRiJn zj)IA$F*M(tUY`6L*ZjpVcYpFq6sN?5cq2B%8*!m|z=wDv0mK`LQNRC(BnR>kZ?uMZ zV-Um}Z$Z4V9^#E3{@{(2&<13M@Inw?9>VKE_;V266~bSEcxM8H&x7#)%Ul1KxBkD# zTX}FHh5?7eaC!b+E(IKwi;az@A^)UhfDR7BV3yJ_va>T%mt=zMK>ELB6Tsl?ns&y@ zvLYg~D#mu|Y;ZWg;n*66zfF`AlEiMPj{U0*m<ywem5;KL;nFANz+kdQ==xz=zuRYk z1Enk5*$JW(lr>QGul*ikkN8)U<vUqDszVD{NMzrs{eW(?@`t%aK9&SVXz2DFDqy64Pb05&Y@6pf0f3rzY{_kIY@0E>Z zw6A;b`ySdB0qZ(|3~3F7q4VAt84G-n`5+Bh1FDf-kUj9%xd(^rhX1u&{?~5#|Fqr0 zM1hS(!SoN!z>Wcf6VcERK~@LbAIUf{DsE*%C@6EC`a=Q3v3WH_*(kBFDcD3ccrbtc zIywf4v;xB~vw=ZTn)oCG2U|+w5BCM0gcKI)N7&h5d@jZ>(%AaJ9OU1mc=s4N^qLuM#flp6*ZF;q}gp2g6R04m$i5aotoQ-(8< z5g9@!0Q_(16ov#8STu&%C-OwU)3FU{aG-RYlXS>5!T+6(g)RqSaBVmn6a9Ff^q7S?|wwvKXq#Xs8<+%A#C&A}E*gNxw*yIPrLtRRvIP7kUjU43yuG zU+!<-9b9={w8Ix0TUz{&3|#S(af61RL|Xp0%ZXlIisaV>z;VuK2%jd$#3W}G(cr^^ z|1po$+$yMfRNJxDP+L5eX5Qj95(Vl0Kur8?+bYKG3GPUu`3 zgwCaL=v-QW^!@rDcu0X7K~}&eNI9pTf$$O#Ug>|&wf{ZW{{L~VkrQBG5Rm^;2P8ia z75E9O{^MCL>KX1|4+~&u-i;E*g;YN_O4q_qXag<8m?%*i9Y%q2g2Nc8V6ao@Co1@u zf4|2%xrgWoHToX&M4p)tiwUiw@yXCinu>u%5dD;x99^=!3|Jq(i z;#Yruvlw!G3=I5}{_aD1dm1_yS~1Y?OF@7BQ}~sSl0{)q*wlN_{QdDBlmFs<8%nc3 z-?x#E75d>bvP03m`iTXNkh73YtmvCdjNgb)*(5wC45a-=tQ!2fzVi}|0(Sd^S7*O% znu;KDk^ar`QIW590ehg=WaX!Ni!Qc?`3%iw*49_A*oRnYCIAHm#hegU>nnCDC;Z5G z?K5vE0Y!%84IUtT_4}pR=bF5@KJQArTbkY^OR%%^Tx& zp{iC`ihS;DUqSR?NzO;P^|g7gZ?Eos8RjDjdHu0Lo}DuAmfyIuqYpvU*eOmNSF(<; zXR@20Ic#@{_z;?aJhI?B9UI+vlEvJIUqW`fdu*jg-i|GmN_Xn+%5+pzi0ZK%JHmZP z9f}vL@njXTSF1X1Cl*nE zO7hmzYo!F@{e#B|f%?0d9)01wZ*9FbBzdy!W8=GspKQP{hVxwOu+nfE(;^+Q_<%e)-{FXv=a=P>o*qTE3!sQ zoUVh=Ei;|ilO}`H@-!cyoh9ZcWvy@-E#B$lYu0kQ+lvV(VR@~ zWZx#Q5y@iMxVJRB<0;*RLKA2uSmzp2*Wp$@yK;KyP&HNW1hgF|fi6vieTpxn@ZXd%em>U}zldn*EJ8GT@ z+qpl$FPuKi2huMme`47cTj~n;m28yuI5*{WyRM@W$1}xCZGtCUBk(p(Kmg7=%@>&R z)$4_%CG<|1)h6JG!rX;ogm#rDwRfqslOwFAt}~yLYx8c`bvgITr^h7ErSb$}TasJ) zdBuKB(idTByn+-lm{Ld-4eXnFmw)-$!7#_u=`~d~F3gc3x(U*z`1A1Txh(j%HnCj? z&sv=~w=3l+irt3VxYG|bDf`SZ4+a<1Sq&F$b3-?lISj_-;;-FIneNXjS@l=@o}X9+ z52z-{zOEqFcsiIY1haMO5jp)gLFcv1bFY^oEkX_54=c_VY;y0M_nFtqKQA)l@6vg9 ze|&-fNkF#0U^s9CJSiBx+O)VQ`_%t5mO?$jV=~H`mrJEfgA=!iy}rJ#z2UGXLqCxj z*O@Lt@o=#+N+;-TvGWthIOb0-t4Wj_pC{;#!Z%pLWt%8oay^mSaJ*AR>3}!dv2BSd zYz;ywjynsKbvPk-5-a;-3KAm)yqpVmL!i`vv7JZ zRB=s$ak_Ro-~Od+H+8+HP0alu94Nm51U{mG@zQXKP1 zS}ID-IDIPlZ>rbipXYrSC8Oz>e0~SZH1m}ltO)lxV)Cdv*!rRUc8q#DAk*n~dZ3%$$6#)%sVBHr3d z$kJal#SmfFjXf3*X>YM?r)fz*h>6KtzEITK)O@y+QmmnAlJKv`*o>T^=1=zK=i(Ygnrtth!9)0D_V+DBv;JZHNnuUGH^{TCUm zHaTls{-J@9l=11cT;YQ5K7B7XlCH1fe_pkXGp2ttH}JMYLu>|j+=xQgE9Hg)waz7d znA>drsQ@1W`d!!ewN{&TD`%@2u|F(di)QN0m}6TFqnT~&_}EhrX}<6Uue^S-n87W{ ze*e4OT`W}@W|_-acdX4Yn_f6>2c;&i;3={79mUN(Nt!t7+Ae=`;p#)0HCg=ICeC7Y zhbeZ)*GfJezxpEU>a#pV+XY+fZug{_u*VIq`4Y#}uVRBVQ%w_h`Am|m?S5IiSNpms z^{Y=8?Juz3WVTW7D+)43Cl z_`LJSU8w?gAy+U$1Xnv=zK!Krq#LD5#Pwxpl-Ri8eCaNSb5TZvCX-yfeB%1rh>6RO zPeBjL=07Pd_TfT1CV4lp@yplzeTINy{Os!t5_bpjFEPT_>oc7nPhjS6uB1^IJQC3t zei+mjZ$ore9fi;2xom@?q0jwO|^Qf#;LTpmh;$0l{`RR!kIeHffPP(uzZ zSt=-HY`QD zQ%X5?0=JIq>G?(~rb$7V1CO88(h^AD1ffD}_vB6W!`ygUKX)7GGW2Hi#WK1EI`uD; zN%`*F%03_GZ!~{*W(Via#pJW&Z<~>;h!2IMmNm8gw^ndf9m;EH9cvlLdf7lvDp))7 zeE9htD|1!a%ZpF)y2G*x3H^dC4;{CoqEM3N~pPO=epTO4%fNXyLFj^>W8;_Yg_Lqeq-DWZVl1nZOsvOQn8SX&Q9AH<70AOo(f94by5kH=>4oJq$MoBnWTgGIPS;`b(*& zIhKR{pn(f(4vz`LI+ZWzR@QT;UpJgItYIm6Typi1hE$+$q9yKY2Zj-QAsGv|4zC2w zk)(&om5&@Qu+@-};yc{_niuZ693gA~xP#ZmBqOQ ze3G%dqn}4z<8L`0Kzx?V;PpK@k?Dt0PqMSEODssKp0b$BhZK)#f5$ArREjKg5kIum zOl&jZ)VZ1;b}enoTH)o@F30koD1*;7Q|d+aSA!mx>Q1J~v1EMpEqOHelAz}-ws+)5 zjTquaL3}zkz?>d%W9W|C_w~KqsqTf(_tlFku7(MDE{0ARro{)#SX|_i)<}DO-%1Np zC#C#Ggi3+ipr!IsQY+~~MYhhPkI&m8t_3qVu6>B$EmXdJ`Ab(H+ZHix?1$Xtly-~b z{vVXL*Gnvi+AKc?@lcmkW;``0SuJ~L<-#9KBKdUI^84A#o_7rgECAj8b(Jeic>KOQ z10Kj-1^R|F`^K9(A|&^MTH;q!B^BdA{8cMAhpJgY@%j-)(n~}eg1T&|z=Db8NykD;fk8+D5w#%YV4 zy(q(_l#3G^xqw@@QSXynMfdoCbPz$X=Gb*F&|*se;fwEXr|*A$6>}EfBV!mxUB~JZ zzn0l(KyYLxt(ki61nYAnjJGOL^>R3)_~7yPF)vq3aoQ_Xx{n$=G*>O^>$f)jaUb4z z#P)bO=asFFGhc$fyv3vLZMBgE0z&TM*A)X^(LwXC9(IJXzR`$$0-tuh-PRoN`5b%C zSisI0d)OtN)3V3iPAghtVVsjQ9zqtrqQ|~q&`-)j#{Pv z(VW$`H6M(0dhzv}Avm+-i-_W-CO#Q{^H903V?(!B6ZIp0lo~(Px4BI>WsydO{c)AJ zf2aPN;kUtEwyIIL&bMI^R`e+A%~ky}5xb$!p<$9txs>12Qobjg!q}s%Hp3UPXXkk4 zuM{+2=P>c@6?0^*iV7?~!YWdbBkl7|Ynr3Vzbdl3y7b&Q>)upqeTk6YW6onuPT?Cf zJJ^m&k0%pSrUGXo=S5qkF$Nf~jMO*@JR4=%qK2$KB?%+iH?^G#AD=tusV=AsD88U; z7PY=b70yYl9Kex?@wp6Nd`PscCDS13^4sq(>DqR9-dKRp7iX(F#9zxVX7|L-wlUK` zG29489_z-k+j$Q@nNlO3m#un^yuicIK;Ee^9eb4{h>N{mxyn_2n$LTSpcyqoJAoZ5}JFkA%YE z{jb>g+a|tz>EoXcPvOnK7fGyBbSfez*7!3u1;xGo_E`8kZpNzt=SJyGp7Pk4-iQ>6 zTdQSV>fvX)zCi&L-`ecfi&xHya2lozmZa#sWXe*a_3F`5;FMcBTP@Eid8|HA{Y0|3 zbL2jYw_-zkt@gMEEEKaq2+rI9-i zlPWuEr5$inGKk(5PMKPhGQ*}BmaaufSFDs?Y$;f++1ll2{o0XpYdy+Qzkn%Bts1Fq z#tE$VOOtYYG++-g$jcye$1o!2@N)cy=Hf#a;=al^(t5l z4=RR_@7JV!6jLg}=k^$Q^Nr6%Rw!+T{5lUCpT=aWi_2IIzwwX5?tKYu5B)>K7)$yT z#LJ_mM4#10&dKta>beQJeQHnk!)KCflU2q_3gcnHDJHtF=y3^pqRfn(z3$q8P=5d6 z0Z*wN_+=|S_1u~s7iLYv?sEAp>4}GmM0=kC>UoJJ)l06@QPBH#De1Kzb_cyJv0g|% z`%R9m==z9V6qob@w?3X&P01Htj-sr$HyAGu`1p{7Cy_;u;u0ED`dBxB{c{0Tl?zwu z6em8pk8~aBrq!Ry*ODpj#k`$dKpRG>eJ0*4OLca)y_NjghGoNmg^R?i!f8qTse9cQ zw%yaD!si6H&kM6_;KJ~h)f5k!rRxmRn?CJ5RQS|4+*=AemBmn|2k64Gn7*x5RtI{^ zS+x}H=+$v^OkIkl%HQ1Oi`tu63lh6VkMh}Mg(fJZ2o47XbMYoU=0B7oH>LlP`Z|r;reFg2Xlbme_O zSFhke8F#j(QCa!v>QLBvt&vR)w%n+$p-!-4w>rimzCeGHA-o7n|H9LFu>yzsqpYg( zc2+Zo$N5)XVl7@qT;RLOfXD4`JNF`v@l`1-+?P0&3wTY(8wu{xkek}Mi&-=Y?LJ$@ zqNEd{VldUQ(hrdEpejq)naK7$yE{L1p~!mrrZlNLabszsS=x_i(Y7ETJxP>fQZx2j zRu}`VLD;9~;Ql3lNA4FY8E@n1xeXzkf`}zb*ZKYXsjSw5<4w_+G)*%zuF&rk&TIxx zX04Qh2%$s%P_gBabrol}|B;!0x~^-xnUgd(BUUDzalBJHT`_U_=@o`!#5tGCdYjtX z@?nYHh1y1$h4PCLivyV72+Kd>v@a9&-@Qn;VRWM*#V8q5CU)R9^>fxb6AYt_ z@0UtDqrAh(VGaEsl1s1TS-vTSH76g}&cR!K_6-xm1MiG_3 z5qzgoEHP8|IkKqtcfPLDm-7lgti8N(>@vS%L5Y}Z5pU$F+4r1R?&?q>cHX(&Xku=g zY%dW#lJ0cMR(7*5nIN+8`kRSISL&)f?-AdcSJc?`Nph{%m{#`sJS=zXW2ngJ@hg6T zZlsdA6YcYbbd`HQgfAA}$)~VznqHovskY7K$ubw?`Ih+FYq3)ydBw4aaL}F>KHWq~ z`Xi`rt#78KL@DN|Cb^iuN-V!tm&vs^VF;f36yd-?S3}Uy+~eS9;eYi>he%*w`=F)9 zWjE6R*JX8f!&`boK6Ur>t;a%1soLq@zbi)imAxQ&qey8j+b~)>K(RXdO0*`0O*6gF zf^gO^s!mxKR#cP@Y44lnKb$DW8D0JC^ZIbN%Xtx8*GlVYpD(ucbUY0bn}L--F}=ic zv&acPy>bpjjTOpSX_!Yi|KQr2cV5Y2wqUZE8^G-8KMNfB>R4{YC&9UgN**b_v83+E zPi2%T->ZSqJPpDx)WCIAz>FzK*qvhFeK+--`8h!r))MkYMhWq0h$h!0kA#IYhtnNA>=Nx0anw?0_`h3}m0u?PUgfS-N5Gwo2Qd!j!-tJ7luH?*Wec;b zi4n{`9I*Yv1B`%|`I&7d^40QbvplKp5+js%4K|5H?su{`kaBJ6x%ruF%zo4j9Tcvu zv--v>#y=CQ4y$!xzS*G3WD{~lH4H;-RU?((sw8>|Yg%<&5#Ofk%2o( zCt;WN9*tjbvM2%2FWI%(XHt1r1w@{Ub~NKNv&kc(`~25Byn7ioIA z0cEJ;%Snz~%}&Xbipo5cW}TImsyE!FGN0FGuu0WoxjA!dbKVgZ+-Bx!L*a z`>o42KhQut+DdwjZdlW|e4x!Ey%d`r?wnlCwb1clnw-s8kXxa>Ok-eFU!?=cDL-ogRF>=p2!3 z1&+>mjaYmPWa*(VeAmFw&)#*lEll?LM&ErJ9^fpXTY5Km;)vOpuHOug{nEVbnvSz! zmRUl`X&n5xbas}cx*redjB%BWwC);U58wgDVJk0sx0i0Zf-><8Fbe$tA&h9k2Tm^#|oRawWfq#g|lU(SfI>vFBomH)q{c)buYayv~qmCJ1=rb95dwb1&TFbBG41xBVIhJ`yFR6@6IN$D1eb z5iX7qNG1DtWG?E=*gkOd1B)JJ6qAE1nA(X|gM^fg{)8n})gbU5()XA5L_tFu`@Me}{^dBkuv_1`umY0*`&u(d^7${_gc*z=F z`7V*iN@)X0&((RQ-7j5Zu9rqT71N5J0;!CQcWK2TM%;rWIiE~C&$96(HS#Hwyo?pC z&^^FhNUhK%?jo|0-{q}pPUz2(Q0cnGmC1BNJUKg^>y^4B8`I}(PpJq8_ZES z>#>RR{yFZjM{<4nxRwL%)fY1cVg_>@7Y6E=Wh+F3@d5vlakrPNa+jP1UQ;$v>lIsN zQNO#!X~C95GZyDM&OqEuLDW?7TD(>*j^=4#`)Q<5wCwRYZ9porD-`UYix-Rs_>Vb= zwdPEZH=OB?JZ9KNj4#c%eSJ_S>Wrm3ROP$B@|h=8vFO?NZgm?-b+sL>lSNoDhk~W$ zvy2##0bm|8iv_{GWEm1!|7BJ8b;eALm7xP;Q%uPfP(TXF2Kdptk5H$YeT4dnmvl)cD-4sKdO7F9r`;`L&1hPMCC1h4}nv)A2s%PF7-B zBFh*x-wGK4;1X;VI5p_PWkq~i5W*0bSi{I{Dt zVWU4rKQ2}9M)_hH^#bYj%kk8st#l%5iBlT;E#cY6tB+n}Yec3KL>)DCt&N=;Pz7#2 zA4=3k?%S|`wJyQY5U080&RB5<=v?H8c}#!prRNp3dFt;Xuzgl$yI1h(HF>f-!}?xX zI^J>V?R<{Nd#W|bK2+PJkU9FOv*GVt*L@- zgz6&j^$Q{#50f{QJTxD2#pZ?K`w}@m;0neCpWKA=+)bWHf3E8f`2M*Yt|ZOacO#AZ zVG?}yti8=nT%tYEkG6;0^N(s{T=U{amURA$y( z99nl%jguWiDDcnRU(O`h6FjYnAodt=wO%aS6DY|wo7fvc~xHzutSXs$%j9f|a zW;F>6Y8E47JBE2KQD4YOTZLO1RG+@K9GACOdOkZ#WBItYC9N?-&P3Z)g#p%hN;%pL0u=;4(in*_m=X#On~RZKww~I||jZGjB5-M|3CTm-+KDnc2C**VSK_f=keZ z(bNTF##DY98rI+`1!^gea3iI$j3Sxf{fGt98WC`4q8iuD8-o|>Y?073CGj||FcwR2K~EFkLbo4fIM3$%MU0#nr37eZ^Q4_> z(B;G^mGV@v>cNDtSa=D=v9JTGd6XLZA|5;t?eA@VxzFS3ey-#0YAPOyo!snz!-Oza zD`jL^(T%XJ$K9=@gOhsI&G)7OyCQ3An== zn3E?Z|2?kUX@3Eml)8=X`|H=VBdpVyxQ>DKX1wuNKbLQOV|a;{jk1~RQnw{Oa&%6Z zy9Kt7kDjKfW6q{i_Y>m1VKxCa7J!flj}u>!jeDMepr&&bz*$uM;ZJ%`jXCJdRo5g7 zUyIU6;sF(W0PT>ut*qRzph6ivgiCn9YNhM^9PA8#GV@pwYmeIMpah>zMc(e=EI!|0 zUXwgSMa7`PXsJ3BwlRi_ylLW?dh}&$_7!f>R*F0i*jj-GyIFkEx0|t5@bY@^a`_- zz1yCSu5_V3^gLJZFSxSKM|bK0WQ-(SGuY@qPh@#%3=7 z_kxijc|?w09M)7{TOKy~xM`tsi6lrip`ww(9zT)?q*XU8dYE=`2^QTVM&z)!Vp4F)Lzkevh?`@#KwQ?&$r9jKrs8hB-O9-`k;z%)-6Oywa zE~i z=|%VnxQ=&%a?7eKaklR8Na09Kr(RQG18#2Z*l(+ZiEGTX>?-}PnaX@D>Zkt}qIbE4 zYOOz;ZAmFaudln`B@>fNVZ@#md5r8co^ieXw)vrfngx$x(8aG!=0n1gOj9avyc<3g z0!H*+i7OHpvLeV(y;ogd{dL;_8mn8cF^j_HBa-nAY_De0M-IUtUgE;I=&=Gy!7cc@ zw9aSb%PkQE!n*>mO zYhCoK9LJ+Ln*Ul__`;v=;E;N55XkyE+~$Ap^{fob9(VlG>&?ujjHl7eu)&;U&5lhN z)VtH9MAvPwPzz{3@2et0>A+@_(BsS2y}sKReQB?=#aNjmQ*Z~UW;{oFj~~4l%{J|^ zAj=J|$o40c#^&(6X^T(&4If?m{VQBmT8BtqhR8VHxn;+d2VWViST4G>BYBOFHS1jV ztz(p;<*X-h*W(tia@8WVrxvDVOR%yT%^7pms8Pyi+Tt#p|nb0O)71HoIAC*kPSZ+Feb#))C6I>@|f!@r*`q&r7GC6Zw_ODuG zuQze=lYIG32gBU*+6ZQf4TmGT={wYvo^~?|4xONO;yYg$w>3R zL3RQUXMRS+QPZVc8MOM{=SZqdtPnfSQBdNDnR%i`niC|+ZM9E)#Y_pI1%0cC4u=u5pyVcq3=E*HP8PeXAOz+&R9c!Zmo^XFuV^Gfz2V^1br{yAM583RFF3waCBAxgUIg(C=^Uw`7>7LqT1AzeRQ6#XPQ(mwA<3N`aP9 zx^O3%8>SGVkJXRhXe9Lk%q6UNRnY4FMFZQ*K*JW0pu7 z^w-;EW7=9yc{Qw>?j@^`JThgh)lycHB8__XWZp7bGWn=hj%Ta(jH?~}rkjiX^MiH1 zH}}eLrNie0-4|Krlk{t46z;1YNZgt<9ZRhJ5T~>MV^(?MJ3EdQq3qsUVf~fq?|1#c zrt`#zEngN=EOpZ<0drfhB(U)|u^w?(}&g63eZ={?E4{$?qn+jK23pE0FDh%hG-Nou?#>9)!qb#fZTs`2FQ>>g66W(9t{m7M z&nplWIY0RF{PU|O*S(L_rKf$y=cchke8Y3u#rJA>44D?*4$?`!)Nj-nsHe*)>EAB?3Zu+u*1Ud!yensubPks7L1$O-6Bp6!|}q|432tlQavA+(2XFzy(E8x z)S5bVO_=k_opjZ&mq_{|IVxSo$oQD=^AeuYpgqfD@^BK9(F(8S_W#x1lLtcCb^j10 zOB9vTGHD}?T_{VaR4U4A*D}mt!jKtB8*PdbLTOQ!N-1ff&5}qv?Fnr}T2!=HV}AEM z=Fu2KTHf#b{`j5uz0ExLo_o%@_nv$1x#!-;l$5*;2-&eDJi_S1;kt|ga6RjJs{^e$ z&-BWX&{y{YDlMLs%xe{|D2mfw*JoE^?ZoNx8_r!`8add%VsVsM;3YruxPtc;BkGE- zZ@9ioIjnqXv~i(v<+X=*(+iE#1Fqh^*fMaWd0D)o`sc61nJiCjl?ksEH)}0CUK5h~ zv^=uuIc=8L!r@uVzm;x0tvmaz^$SzCklB`2#UjRYg@P1rzB=lNxvAA8SE^5=?qJI1 z&rGs?yVB$_lR7;~yJDE;WxptoFg0~C&q?Dkx$Rz$vkLU$BXW`p&1fp3*6{&=s3U*Rb8#l^wrPms2fGoI#O3OnMET$j#r8GC(??E%?kSmT2#E31?N z+a2|T6;6($o^`q}t>&LVT_Ii9JHRj?aEkdSO7rf8PnNlyJJBk((l{~hfX`0j z%FKZW|FL_qI@;J?b&QE@$#cCGja#U%S2f=lZc=*TRP*eA*x9E)ep|raDjAu6yiS}l zf`01VsdBLyEiUPo>UFj_nVYg>bH`Yor)CYo_e47e2VWnv+_?WS1)u2W-~BXq zPaC&ANGt8Yp2?5Irb-{4TJ|w2M`izL_Vc604mVQmy&M%U1qPoA-!;Mi*t^h)=B6P{ za^v-+cV=cM9iC_Kda3$p5v5S^<`Yjh$Os|#3)FqcYCt`inMIsW#J=4F3m#tzvGQE1yaKn7p)2Xk& z#az*w#9F*==nMA)Ve3B&$P9J7s%A>sZXU2c_12zCv~linCbwd!5;Ntciu9F>#;q2O zwU~U0wSMlL3gfeIgmZ6Vj#&RX199O#(YbF+U58JZdW9uaJh?XcfY+U&4mhCM&B`&0_o zp7Y~UW^3nXT0hWII`F!QT4Q2qX}85K=XL8-a&emdvpC1~&BgUjKK&AejZVu{JDy6R zDiz9oR!vkbE8Jt7cg6O)-PW^7{=z+WbMw)xKW{ceA2~T=kHL`9iDqs zH}AH3Ah{b1?6E*ql1W9xLIh1SDKcaRZT#HzqQL9?~jp;1)e2I zp@XlDs^1_IA2Bs0*x<=BYikAHNLj&66CFw)B`;k$OTba#zRcKzm0=dcABWGi-{0$l zaA3`u<4YFH)hM5xAF)zo=_QNkLxWQKhKB}AbXl{wlx(|#@y8Z@ zC{nd*G&w&?a%YLA`T8Sam{jYcXp*Qy+7agRt%@QFrN+LxmgfqL&*dEO4V~(qFj8~D zFvkp)U1=<_I%T6{jmghyM;mWkcqEuM>hi^X()tq`B?E2^dz>{XbL-gVbp=`0%o|so z_0J2Et9(`0^l_5ae7IOfb+1`wfT+E_v#|-i;)sBw;2NEfY{9!an+8|MSM0f_udFkD z|Dlw9PIk1-R;}wzY_=z~KD>IKUG25dJS=#U1!gTew=nP2=GWvb%G1XN-gc0>BIAf%$XQjo0J|mX(b~D?YAhLViG)K9c(=Q}EaH7ArC6D)t zov}N@>fkLNq2u^Gpb zrk5S8o6_8y*OO9lH(!e196V@@d5pMN>22djtNUGjvbFccM#Yq;d4q?NZ*H{> zBRLFrTk?M7@ELt`t{s#&EuLcF_ttexU6ZK8s?^8@`do2VX~C?TeLtij_!Mu`SDzv3ZDau%5IN z^NyC|px%AezsH}e7Ip_t)D_skb{Vdea$h0_-yK=6a6PWnJ;_G zqlz_U{sGEy&fU(&7omf(+&jkcE2FCJZSQ?rI_81T1hiYLvRB?6xcpq5 zR#9(p`RNH2F%^cr4W_?ilKqhPwEb=FYu6uMk@qxX@pQJ1xUzAR$gU>PIhsTsm)J3JDGslWKJ_>6XPW$M9M zjb9rzV;)b-&~If|je4FjI4@*yQQC=_{R+Vp+AtocWmPX6Kt47~?9}3+5|IWD07{t#6+F z=(FQ|ovw%79rUnY9W^0BAb4HS;iRDQ{&zMMyfsT)rZ)27L<=isM2kqiUtG9X)yGA5 zlM*~a1PARKP21#e z_hzSWlCY_tU8rzk&ee*yhc;!tYdkhn+t90d>k*R1BK7Jam;94Qh^=88GuJ-csKwgF z7;d%hy$Du2Dn{hOtFe!c%|1OaPUdx{qgkcTt6DOIH2OSYt=muC)tX(NmeDtD<$;#H z#})RZONF?SL)3L=yE(a+iB#l1TeeJ6(dE*1J?F6P6HaDF?QXcE<7kG77@GB~i(cMm z!CO1B?!Gx+xte_ec%xW0h;GJOG(fvlLP%O_Tr+>PE@&YLjt z?HVLYtTUTxCNoao%Pk0Cm?Z|4vY%eg+Z9$brsAkfe$b-r48!|R_c5q% zD`SNe2aGce z#|(q*FZT#eeP|vdRQtib_=d_Mzem*RPf}-?r?nhClyWqYbv@=9aKA&%dPC$!`-c zIWtZvS2?=m?Zxx7&yx!Ao)4L{ z_E3L;#-n};FJ|l+7gMugkfEa7orfRJY%45U;#_2BmN>exM*cOZ#Z}S}@k-6pL!vx) z-nO4&<>uaSV%;&gr}Or3Qj&pwi^Qfu%}?hKHuH21HBiaiVkbD&BCYJCw%C)+`P%cM zj1}sp?o}@+vpF6wbKvfnmDfFX4fB2dv2kEV;RoMA8Ji_UwwB5q+fUyy@QQ-der$F1 zu2dUI5yAZB<@?vo?3?EKX7Ta<-?wV#h7A$(-s&i48Mk*|wVXns)7|)Jd)kZnxl=^S z?}&)U3JpH+$#mN7Y|$1yF+qk|ypgi8*1=g#10F;6 zZF^sxN8gqcZZboAnvzp%w9Uv7TU>|aJ@@sw+Uhbp!sv8lYE;s&*=ua{u6~lgtGD(= zey@fP59i%@QPz~WcZRm&fQ^T|zj$muBx&+!S7oNoGl}>i*^375-ow86ymr=*M1iyw zwv$bRC7r^vbbJooxU9AQRR3`4!s3joQ=f7LJoM8|E;dRmzP)viY4v3K2hshj^|t7v zxxM1h62FHsbtmHQ&0QuW>c4OdGd>{JJ%kj{lsS*Kepr7^Kf`5T#`JTXJW*F=xQohQ zAFoBdwORQK_P!PnjNSBPEH*NtTuelxSSjn?+z2t+r5gn^dRJ_W)b?c1_o}Tq%~}vB zq3^$RRnT7c(;b=8icg2=j*Y#*9C7ZzQ?(`;#i^N>KW?lO5pOAYv-8c|Y8fm+La+9w zyVSJ!KFzb%w7PAGzh@joeLL25xX;tZJG(b$T~`Pe$}P>4TlTa(=UIV7U;S3? zu%>^&olm1K&UOA2GW3~@^g`Y1GO3XoGu}Otw!{p|@$&|1opR#6xoY>Krbt~8@HlT? zny1ECyjb}#wp#Si_^qEFZJ#R^WR!H*dEClTLB`1O-tM_gY1OCNt1^LG++Ify__R@= zy76vEY<$BE?Q7G76QVYFjhMDf2!Fj&w=hT%n|}{K=UKIWr}(-U&v@xCBF;AT@>|OC zC~G{Ayf~@hEE+gE#`xvzji+v{6rOf&l*r05*4cch=@Y&&CuQ^$&oM$xjLf~$u4#yr zJDx92qTG1DYKHbzD^=mCeZNK8N!5p{WW2n1>OjM|WbKGszID2DHZ9pb^1+9?ba-i5 ze4X5hl|_LHXPphBomGk^J@p%29e1}TK~>DoWPNef677pdCqfjlOtr3!ZzcNz7*G-S0mebkm0XI@k^)mKhPsM)vB&b9c<_hA`V zw&xWx8a&R5y%ya6g(4cLbnnV&vh=2XfvXsGV+w9FPJXSHo^vNV>Cqa|+RHay@BBKz zJ96P{n_`Pr@!b3~wyh-t^91u}&k@)%M8vJ45skaX$@&|`@81V3o+YqqL0!>7kCkPY zv&V;Ln{7!OUDo=kw(R&8$x&;CYPB*hy!hVS()Z=nMb#OB*G8_rI(p;g7dfA8q7K~J zcP2yUFcuSY#c7U!s#MRV2_`FUkJ*YlU{UBZ3w@TO^bI98Cw;^7+RCC(vJtbx zI{(1Ie-d0UQ3*$kie$NrQVW-?Jxwj*j#v)R09yYku?H{2#85x3M!etshRpmEqJ`SA z5@`RMvLm^z5WiPl$)W5shE0jGV+W-KviE20W*@(H1W)jNQ%V4PNt7*{>@&K%wv?l` zSpIdvt+2j`_8xvbb^TS?k!QEF%d5-SJ%zIOFWEcJhO%}1mHDN?7J@t**TB0@C4r>j~`^*JI^)>(BapPhkb3a;XjwK zYd|z6pj5$4cev{S_QBjZc57>Ey9{6JzpxMG#j_Xguwu(E9o(gUK-r=l);KQIApmG4 zUf$0h=F*?H4(RHH-|BY&t#$ z`|gKcy?ennT%*N{TOneP@%{z4ZUJ-;)qBiM$7Z`ZyRNaWy}x!}jA9R^N&d0zk)uhm z_h#&DAJ1=%-`G~6b35tMugnLSKiu`LL+7!Zzc=IbYroa-qyNVV`sZ_9EzSdYb>iWO zCG|vhglEmGGep0?sj0&4&EJ-tNRwBpvftLcX&(nZy7W)C!o!;CfV~7<-vkD`>eK7? zas5*FnLTBd+P@|{k+fHk@i8X!6l7q_xU={+dQItQKWUJ`q00;d}eK&+6k|VwG>YVt2H~}0}Wn0 zzeMj&cn%Sk+&GuGWfyhChM>GwqCDzc7+$C8dlUQQ&Exo*$xj}qX#385!Y#X$AM7wM z01bY)iz97t-pxn`0PvT%%3HYi4`L3OJ$Kz#)#Z4dgO?9l*Aw}K z?JRhH>wiZ6J1+`wTy7hR(l=cAshAKqF02y(um=8){IEy-+w$i=zJ%i@Up?F*A7t-J z{+{>?{N#7tz2vXUPxupj<^Rk2;}hrJB|f(;`4#zzHJh*gw8`JTNBqL9zC+3U94aB;R}9Qet@tu z!JTlW7x&@oml>{|)GZJ2T?puE{Svds9JuRLe0YW9Lrmaz_5Z55$EIha^5Hs$|e};V`0V@tJ>yrM0kXaq%fqgRQEBN(41K2kV zqKI}YKg4DT=&w(U~o{1lQ$cGpZ0SP&=?fteda~HdzsiBkH z-&?-3kLDlxY3v2ciM>3;`MAsY?O*V?vIF*>z?rdLzkToColR8o9>oqkx{}R^b!87& z+`B^=>@C5+4>;soKz61a=K&+Chth%dMkhnb-z)d6RN@6<=h|lzd z@83w4TW7cTU8g;WJ+_*k>;N)On1ndjS_bh*B3=lwC5X@b+pUkZ`~fx$A-7MZ^zl zzJ0>S_ixMo&$c=3aVy{jdu1M+BR!FwOOJ|p+dzy1=qAkRuI$pUB(O6v7bDyC9r~S* z?2mr+JcD2S9CV4;+Y`1G)(3uT+{9(_xZQySHj1|#Y%IjE2z>#7HMWz^IAE1hw!e1( zEY9cr0_GFgCGPVJSf|0)0DlR5K8U-5Z$JR7p%D9lGKdL)O@TTD04?wnz~1u64!nQs z{DJ^DJK)tNNU%P@9)}+^HaGSt4c;-PMrjZ7 zTjwATx7XibjknVgyT^|o_!)eB4I&kB{OoRit*9HmcGzIpUla5omSw(W27X82X;n$P z4+{X_ORI|UxYoSQ)7essgt+CnB)$+E^h>-QF%{zcTEbBPkL>|ZfR@%4w60#q&vQag zZ)R^ly#@b%8?Cia1^}{ve+G4l^;C2rrr8tTXqh(Z2MU*&_woKtvlYFJ3{z+40o`g9pF=LI~DZP7zuX*KOFi7>H-a}cw1RF zV<7B=Xm*pjuOCgMvUK6c=_%HUe+GxcEon$%#qC|Y%0XsV4Pqc@zURQVMmwrA%&-f zw3h=eZ#m3cpbhaX!d8PG!reFm=h>T5_KlLOe8=`r`9lJ`1#^LThBd37JvNDWhCMsn zsr$G1gPjB(#51z9(~;k64&PxN0RX%4GybsW`W^nDHvsKx7FwTRF8(TiSc5wA-}+np ziT;PR0@ksv?kaHeKXo&uQ~81HJ>B*XB!~?F4`N+{{^!_y{29)SdZK?2`{KRxbF=hX zdpVrFb)|n`*SYnNd;Y~{#o%*<-x|lw9{|n*r?1yzkM|sg->Kn_qwu?@GKxM3r_D8X zZwP-4t&Ope2etuV*@2~<>Jw)v09g+%vbzF^9r24p5od-L!KTF6@8z|>;N!p;RDP`J zbRGmTa{xFCfc4aEH>Ev3OTd%L$9&_euy%w00DVuK34%Y#v;N@sJi$H#1gCE3L}yNr z30uogsr^}Ii3onS1?wc(c`kpaLn3T*`+91R6?3mYoHf9TmxqlMB#P?qg*nQqH244+gsbCMf zxa;!dPxfCO0QR5AMxpg$AENt~-~l?xqnB^Mt^qFZ{QhfzY&M(;^mD*;fDa`24tc+` z|7O=nwuKTfEC50a4Hz~OLJco5tWOSx^@0?L`jALJ7w-oyQ6FdlO`wg3FAy)BC*nPE zxB#}L?~nQrw}1n2c<1bQ;})DVlclI{(#6|i_Fp)u2+y;}=y-qqB8XdI0}+h~l$v3@ z;U4W6_aSWk)f#w$?_6`P8GLMrDfWc6r~@_&)v1BHaCaN#8NYiTu#UkzgY!uapU<84 zQ@nCJV4f(oz*$fHrG2=a0K4WH>%!LXRm9JLAi;N!eKh>c9_$R*HqKfO?}d5tqmAao zOjPz=fiWDvcMP_N-(6hZ1baKMBlpYh;3j9-Ma6a*qd$58%OlgAQxdFC^drwh!)$aq?nt+1qrm8T=9GOVbSo?R7v;U>^eU zd|rBRUj}3u>oK%LUjYrym^X81yF(e=1p|MKn+Eq?AMW@RoKbe=Bf^-2&WX4A2XvSx zpx>Z_OZPf=z~#O#!|kg=jGq9&;jRO^2D%IL1FeN;P+keN5kQSK{*URa`zql1oV_bP z=V49)@Sd4)(}%I>34Nde05n05dP<*bp5p#N59x!gD(y-CaG$}0Z%P2~eLSLnIPHCc z=Gs{pUpV*eZhYaLH<;V-J^^KEv3mZRET= zSIfKJaMl&vJ_8T1J8)+GGuqIfAUDwF^j8b+*L1VKKs#Xn4&wpuLxNs`?t<-w1m7Y4 z2KoRvV0Srkce%dsTOVP}!R~S2Ss(!Npo}w?_+0wg`q*K;XY&!6c1dVttHquwF)im;jzo zagP##4|RbC&;pu3`^q>0%#F)~1-}fAm!Pq~;+KirVM?eyVJJP|YUcw^Ue|Xrtgzl_ z{zZcBcB7|IwgYfG)pfu!e_@_xa?{}O{nfd?1Fze5*QJBZa0iF`4l~#!KJRaT=hO}3 zr42Tc>%B4j-XrAk;vqfXF3#s2XIR6z?>=60y_`D8(-(7Fpj=<7(cix z0%Ha?4D2Fz45-8Sp}HI$i27yyK|1%h^p}f96mMHP$qamX>++w!54q;=L-8)=Z;j+} zqnuvHjRFPQ5{7l32t23*b@h}4+9pyv2yp(Wga9Uj?Kgx^Rn@kqBmFS6;U$qcPaKQNcdkn>BFHy!q3n}I8;dZ&a^Lw3JJG| zAj?Z6BZ}hzOHAcaF5FI+^fzc362Ihi!;pJoSTK}L@3d&`oatg*mcwXqK4NeLL_5vD~ zDBlN_Ffdm>lpJv!)%O21F(-Tvz5@L#fSDj1PxK!R;j<7I47Jf0=SM=%H1x^BzXNp= zl7NJsXqY!HH3i2Yp(h_i#Tmy2TtCbWr$<7G)}9YF{1JTvOtPJ?H{LdX)RPok27q}; zX&Hzg3)QzoST5+BA6~nyd@3f6>J#mphEsRO+wa|>f4J!wp`K}LA;cdu zsHcG`W7;UG;tBXkA^cf*ZNOz9SvK_SK#GqQN94${?bqx)P$CM zqc(%YuBfL#rp|dJv@Sbiis(}vNuh=$A|Wg{ydOLe7WBIXs^x{ZVj_B4fWAB7xiA{O z_&5P9$HsTy-=7`7$At9Lahi$un>nXVbWXn!{m$rd z|Fw-*TdSxD*BO;|r7s%jS(6Vw?(*-47v-A$+G6IDIrSY0Ysd^M09)@lbOzLG*1eX>`8a_@nU+pu*l9{o`|5Q@^ZDV zYEH(v{$YLfpVn9Jvi=GtU0>df#qyr4qT=W0r|hSp?B(OCqOPi{reZsHjwMc$OlL4z z6oxZR-T>(6jUtmtHZ&5`&CAz=O7iulQdl$+%Z)~KGl}8r=|uA((OpP>G?EX^lLn6y zNlv~j5*_`|Br&{LD1VtR-G@dck;!djiN2pjr7>7^mj91Y(@<80|Kv#wiYHB9p5e=& zv&a-zgeI@jR+r`D%Vf=BxOnw&MAX}wf@(5p&b~f~n*q^9dLS4Yc^cKihrXQdL35=s zdq`D7-rz?^Nl^y=l&L7k{LVq;|&BS0JGPcMfei%>(ro zl}7TTdw7tjbSA~ggGO>eVv#5eDyrg2XR>@yU(tP7z7!AoN($6dCOVb3Nj#K2;9q@t z3Ud}?xtBZ5N1o(MH*$8SF;QDxC>~6jJW1t8$Efh>8KN6iI`pHSO8bDIXFLaWk~fmg ziS7YI`_umHfDSW&U_|lu_MkiCt^6SwbhQ!519b(-%Y{TiJ!L~@P`&(^gbp#0eo|QI zAEbO-6hIfLG$!4Zf%K5&Me_6VaYsGPa#JP|v zJ-rZXLS{5JGzJ(e7i+6Ayit)omN`6A=x33PG3E?yoU zUVflFOkZzrFCR2E=9aj^a4CQuciAkezWgehx~iI*rj|BYO-pkUSyRJVi%ijSp^;Tp zb*MBNO@pf8qPhm3TYoOM_Fs}&LrYCV$4Qq$)}rbnnO&TyWF4A1l}u6B)Kpbh*K*O- zp!_YFb^emfniO>xbsd@pSxdu7m#nF&sYZ69=sJ_BlXR(?6ivz`nug9_lUZ5qFG;QD zGD&-qv-Tvijw(%!tf{V{OV-tLaw6+!P*q(fQB|oF?Y}0qn(AK?T8F0UqD@g#Cp)<~ zX(08W>5!4KXpuE_T&P;A6g4f1ZU^8Lb1!anZfSHa zVP|D-bS`ChWiDfHZf0p`jZ-^s+b|H`3-mu+v~;QL)acN`Zcv~uP@r&&G|5hrCy4+b z0(rEpf8QfTCrYL+B1r1H?{UZN-NhO>VTjthUGr&m+W-)*IL zo$gZ*#6R)@!1ktX^9qOLG_|5fN8p{AAS4$dIfVgMhy4R=R=3~-47wjMte}7%284)2 z%)>iK5r1JXu>J8y%V{nx#?feubBzVXXQmKN!HB_Xin$*64y?YQ z0_zomh!O2EgFnvb^PuGbXP=A$Pps^$8RR^H@j`+0A)q8P&4Sx@HXTU>O5=YB-Zc~w zHU+jw>vdi_GGnm9%(2070+zz$E_#DGwLa;J<9o-ADn7GJ&Gtv+k1HyFx>}00aq;RB zO1&8haYU)RoZoCd%*r7SC50nqTWVE-b@}e$@cRLTQp`L-OylSSp{lk44O*5Efg^lj zjoL}f+!I(a!5HwA{Vv3G!P{(-8}=@y zP>T>o0=!5ZbB7`*?>-R7AmRXrM{dZqFk?+=?4uhvX@hEiMb$w>Cyso~ucd)?rLT;f z35+aDa~HV#O!>4~Odhukx@4|*Z{~L)fCumg$8(R?6aMunNCrRimbrSS-maI{`Khko zzSVzFO9KQH0000804k*IN}SooB4V=u000yL02u%P0CaC}Y;!Meb#7^NEn#P6Zgeep zI5sY2cxBYOc_7r^*Es%~F=H9)*msj%_Kvk$JYoRu)4V+J5MuiBfQ=6pj|##CdgIXkC=YZ%Kp+9-jzQr<0#Mih zl>TvRlz*TnMuwgqA-vDS!T1{*e1GEZk&pc$^2YFB>Q$um%2c{zF9YzYGrJ z7YGv4?aNH&#SHl;o!&pi>{Hq+jmXo(fgB+Kc)Ko2R$wO| z*cr$|>J;b$%>)r=1?xx{e<0XEh=T@0l#tK}NfD4(_77qXB#d{Dgo6Y)NfLnW0i)rt zr>B9YVGqTMbAh-(ZV=GoG{JFHseB~%JRpKn99(6@Sx_z*4g+>^TmUtIh_LUG6bJJC z(VGYMa_;wv^MmMO5e{(y5@QspL8ipLBk6Yltg*n6aB)GBhL(H74?zALj)a3_aoo^- z+TuW=-(y+X#f3?AQXdkIQ-kiCOB#lROG5U0#|2m@_n7LF$S4CvNP3HsL=hu(19)+; zprhsqlmJWWz=I%U$4ip>rT#$RrT@{E`A1v!A8omRwB>)d_e3cLMF~7a?pF8%`T95V zEXgI#lKf$Rv?6Jh;3Omo1S*jhl1dz;qLgIZ8w;ZV#~vo>!_PvsuP()(3xuR94pb&< zyVrO2FMWTm_g_|#{UC(Ap`j3;QxE|Tvdbz#g&m;$q&kZn6tLd+={<(Er1@3AfszN# zlH4g!l_VqEUgzX*;n>90Na~T4K&^sZf$AixS9?_AuzeN>`Jv((q|&YrR1r#cY;jGJ z2}pFHK>$7LV|ox^Z~v0^bm$=&IT@$y;XyHk&VpwHSZ0AU3Rx3y*Z^-l zc?<#oY)JjK)_@zs-kB$K)Ye!ZEQ7$dGdQo1o?oE*zK*0Vdx8%N(2yEi5CzhCM4DY{ zuaA5X!1m4rKy$xj*e@Z#@AJ18x+gIupbsU$D1jO>ya*A1F#=gI65bP9NkIwpK}ax% zT#q6{YBKyn#y60m7#ULnu?0EAk>O|9MG6G)mBJCkp9U^cFaRwu0T=?{g+B*-gCG|v zm;nNX4g>+1L3ALLKnul1ka7)5f-4jPAPojWs?(8S4!IWska$J`B%bPU5~h@bgi)j* zaabnLXa*5GujhA(liGzzDHGk;Y~N*D1Im5P(yN)Vc`t zQlKDEAdK8P&&dqx1qGt_`ZzgZq(0JoH()dXGmJD3iGmA+2tWdaOn^KYs*<5D85)zJ zB^f%9A({-aAY=oA$@L;KpCod<6$pb%09}9+APYhyg)E5Sq)-6*0e*-ISl@wa15>~$ zh(0h6LK9GCBftWLWiUGss)FNMfoYg4unbH?F+dE^P2mS@0>u<~fCgef5e`B*NHmBU z2jW1=ICvsRLrbRl0bBqYfY(4Yh#!SzgZKp~6Hr5ztp*69xCTNaSTS$_LXw;dasns= zg1dnej9gFv9ykG&0cZhXhz!62NQ00EjBsQCA;1=dl7Kr16@WAl zssqI!JOT`W&;)o7LTg|agigQ)2tCMnUqBkl4Zw(`8=2}a_be6g_i*7AAV)6$N;L%7 zLxBIFyGXG|2mFOj=+CBc072mp5D*f8B}k*aF#!bW(<+An4YNSc5I>9-V0!$htD&)} zfve$hD>Gdiz#s1si1Wj`1Kt>dtFb4bOBw=}M==BoT%ZRAkJk$)p*=nKDDb)j0@}j| zv)432;|)$@31I7J2-cG{HwG7g_OrpEJurZ=H3k=o1uF)p377ypHZb5fLLY|>#o&Io ztT6-v>Dc?-2IoD6@gV$elIAf3bHWyC0duzoD%{0ti@t zj7@kD#t0qY=|>(?)q4KkRLkS9PN(*%xyu#$ruE9V*@aN4F*rxuaXTa zgW1P}JOB$c4i8Rkqif@X!=ODuyWp_yAp{KB6o0n#G43JW-XwYc#2pFrx5MJGf5YkG z@fd%1zi=BY;a|}>v?syz#twrc8Tdatj|2vIVZB3eXu`jC>tpa9IBd}0 zJ3;Y+uzutbRv16@X>tw!pM$}L@(l4H{M)2K;W(_f&%bv02cZMP|LoXbBr=|Wb;tT) z34iJRhabyePJ@00qOfQ`>=_Jj0*wm*T?g2^I05Srcl=(>FVK6>@_;EiB*4Q5q(I{c z_!C%y&)=3(1|5X`ErKDK^kBjQalT}yI1+-xfwTUJ{Htfk{PuJJPudiJb$e4xD8`Sx zjXc6_aejbxIG%v<2Mhv2`~fpGHh|20f4TNMWvnn>exS#bFb1bRFy!R`)$|Gk6~qz@ z198@bz#u?B&>tLch7JJDfg`!HX`nZ$w&!7B#Q=v3#Qm}DOand81h6gRu?NY;{)GBi zw0A%to`Chh|6Q;Bv3RnSe>8rJxo4+6myR?B)HVQvGencj8V&>oxf%qAph?aP7~{=D z{QQpN4E%$@7CEVs2BZN`00X!KA%HhnM}rV_Zh!zlkfc5WfCF(JAWjW{(33Dh;N9&B zMrshT0B}qI*dqLGoGTCk-WXAU3>ZlUf>?->?jL<9a5N6YlKA1lf2e(0(%nV?dEh{Z z1u4D3P|%9ZJz&3$BDYAA;=p<+xx|Bgfgtub7b$X09;^XJZOAhafZua_fH$fucq1MM z%)ofT6tD$vL|4G>Z+u+AUL08WCeMi`MZ(1O|4DcskcdCmV1g#_KkEX}n1gsz@E?FS1jk{?a(j~b2mWJb%>M@q{nHXMq^Al= z<9#>7k|o3fXa3N}nmnFl)4f#zC;$QnD@Y`%$v^^71}bW#Ej6(4mbaVbtFQH!d)grlkSzli?djzJ1aW?c$OqydzY0jwH>e`cU2)O;j` zA=HrlCp~^r{$>MZKY>FBnFj{^ap!`OTwoZUM7I}m(?I|#@+E;%0QUz35Z!BF@hCKk z@H-$w1$v?O@YaD|gfKMe*@*=LF#HoI4*{h92#iqT9ulZSa`MWkBR*&_{>Gpz0t5Xp zQYfoHcNBQbgn*$X0Ehe*LP17ZMotFI5SSnU?H=R3I}1>R0J7j!ghvs;I|)yErA4Fg zm>@J5@L@6f`9A)U}dduZN=kW3z$b6om-4}R`HmI zhBW4gnlm2f;Y^OT_Mo%}7({|PlJR66_HK9Qzr=XXf$pcA!I%?+#{UgZj{Sl>-GTpK zeL9r>tdIYG|NfUxpVD7ju15lK2B$IPSdpBaVK6eDetzV>T@e7K^FPc8Bj<&npAboJ zJ46UTB)uC|gC*(7c@jc?^8d>RL4Nzm07*&fS_YP+@hxCUdiod!OK^JwOJGTQKLYm! zk(8aHz>>6)RKSw--edum2(a||5B_`J!}O1L@!$9s-G9fQw)l6voWsB4sonk^PsIE? zzP$9`@t!aK9nU-V@A&&O|ALPOfSmtg2dOXrNl)r|{$J?({tNxaf3q{VP$)eB$k+a} zC&|M6C_RFkv^@02M*3F2U;L;^3+jw3^8&ACjIqA1&FS~wT&SE`hgJ$)-IZ_2b(qJZ%Z+DgPdrk_hKog)7k>r5l~R2r`E$H! zY~;zv;%qzB!;wQPYcIb(4!8bArAC+wa@_76ht2gBwV&-{BQo%r)44$A`ldSmXsF1= zvM1nr$2AhXs|wnFM*oUcj^3f!-JYQO)p#Y)wXHKnB`GV+j+H zw6~kLC=cE0guo2{#1kTs6=C{PEdRC3O0n*Ets{3yJNlDk&QYXPP!AhW^>>#|pKn)!T*IGDo5} zt3QZ7esb}1ifoZ5f0&Q+qnJvjuhdbKZ0Cne1p+!7T$VNlts^pv4|?`wz&~d%5uZMp z{fxKLor|jgEarv^Mn495X-aM{M(ax5u#n{7}VqsR1rL;{UiF^eD zO<^(Sw(r}{g?g-p_fT)?90Jt7hq{gi;+elBx2ScbG4h`nsZjgMU29y>%v{7+2xFy@ zX?HmrG&mD{iYfBu)a>@BLWg(HEVQDz#4|JnZXUm$zq>Hlcp_+eSz6`nG;6tf4diTN zxRvFZlGNi(<&{ASpC4;ehhZRK{mq8*e`&GS&6x@VUU2Tavzxo}9Apy2hQIGZ7BJxUIUL zejc(IKEYZ>O(`wFkisZ?<+8cNw8t5l^WyateO43ZtTa&>el6D~-4)-C zL4KT(Zy3L(xl$CUSN*m1m{jM{6R;13jA`(VmtQ(xjx<|X$ENFKMtdwBEc;}4eLiH} zd6e;jSba9e7&W_5D7bWcp8nn=!+HD|-Kws99G#ZTwK}CHM>fdG=-{e`z9K6ghsx%e zjWa%cW5$R1Kk^FLq#nrM`BCk`G8c!24V^V;xOpo~`fQb5E60NT{VpBOu`@a4>s*g; z!uozWFRq1_NZq`4^(-+${=|>)UD?$bxx(%0Q=`jyxAX<73=N1QXb!P_Vqnvj;e%kk z$xF|rZ}K`v6EZjJF5AE!ik$Hq(7IKyYpw~zWhVq*%=4IR@7!exdCU!WZIRu%qWh*c zzjpixAOm+aTX7H7jQDnGGAd%=>xTg)+H2X%qY#4z_1*=m>%PYgCUcdPvz|N99h;GX zh~PNl+GOAdq8~(N$o!~JPR%1KFYcb>Ne^uMG*PAZ;rdF@!UDXdO{5gvcPyQe-npp< z!sz83cFZA2tyJFF`%_Jw&Fn$xjfs+%)NHiB{5Cde?yyzTm8?8Ga{fLStAGOY<1;@I z=EB#{x1UIFyXf1@bvCUvrCt`pCGgf~1y5_wRo!>nv+Z_H$h zFBIDrp6z;ce!{l(Tc_Z*sw3t1h+pFd!_k{eeyaB<7*1-v;1Da}5)dJV(D3&jd%af3 z(jvk6)GdFG@1BV3QHEC8tS7+fY%K6&OtaAOVt1|j^4AN^zcy(ZII~(FbhuPc4S0=T zEu(Bzjz94!)Eue*afyx{aqy{26yf^3QprK+kW@pVL&LMa&$nhQy4*ha?nukRITl^d z+jhQPo_dy(aZ}WQ_$&KnSqj5W5N~dS&Gkb#cg<~gl)+N4=Aug-#jck`Uj6+i35J(j z+{;WDtB3}an5E7F*{@~{jC6N@RnL{QcPAY=^j7c=Mg7_a<-5w`#ncwV!FO-tFRx|H zd{JEE=Qabb(0rlqiF>F?t7Cc{E<${2qD)zZQwa}NIo~le_eQ6D@`gfhqvO#zr=j$T z(l@&4l8lwQFVfy+1i2*{%obU-a3h9p39DtjP+?WTHhO)^dhS|(le#Z%bfleQ`^(x# zr&IH8RHG+TwI9Mn{c^i+NsQ3uSTBXPvLsyONpKU6G=p(89oAd>Y0n%>K{^dzQ-!Ui_2Y)a`H&Vv(baT_y;IR5tWwoiV{+M7mPPg=RvYJRL>OUI>{3(z9( zihxIxl5{VO?Sl#QbWWO%R;xv<_r)h*Zz*L4@6%y(H$HoO#{ZP%v-)~Ac5?Q44!vF; z>`QDFw9tSEH+fcBP-cIR4L!m>s}~RbG&T49N$zE#m&_+o&#z|+3BBa5eyG1o8MSfW zNh$tgF;nFA&%RGT&;)(h-I)rsmC#;Ark>P>l=|nD*ykysAFp`#+;x~O6is^dw&$|- zqdL2LwfStL2`@w=TjcBOC{>b zz*{xLk_bu zJ-#GA%Ow55D)9tt82+%-N$Gi>Qo74C|1aA9BE`P!+qt*IX!bl?G;#aR%KA0tG``3}@I-a`qGSeSGzR+Gghabo2sa;wUpc#g%xGH!^I)&uVK6r?h`YQVCp(OorE+R8RL?ca;YQ8VqU4|0em2;2ZeQ#OEYCC8|KaPUb^G}?&HuiR# zD50M^jaFk9(F!YX)Q4)3Y!Fb6w#4hY} z>D9N@E2I3JO~`^XH1}L?CjLm%GVY33rQI@3GfbkjjQIOHQI?d&p5m#!u^A z4wVx9$K}!1!UAytlIFU!$vPG6MESn-{<=pTss5U=*g5&}h=E7Ta=0;-;$W6nY(43@ z-RXB@6I*){@b+_%14lQ-uE{+VdE0P`%4(I#`iQ6lQYzddZ1bKvM6WQN zw^Uoy+mGvE_HlDGbK+%axU5w#rR`{yi$(99!^W5f3e$|kgc}eVebNPU09%AtVH&?C{ehR&4@Y4Y> z{PK$xW^4o7SX!qa>(<}srx^&eq<-;UX{dZsy;!jC5!{VVYE-qs(1kh9a_u6nX7!dc5^m|wgp$W!h*dIr=i23(Cc8Zr7YV zNxLON^+P3vN>!)noW<=6o@atns{23MElo{Rd4VoF;plSUK}4!M?shrc z4Lw#6i_$Y7c6R=JmCZ}%E`xZnp{tf67^F|zvcYNBU${{`$Nj}Si7&CT zyy?wfSgUB7S6yXp`>QwUoHA5|O-tE%dE9KV(plqqNckvOxbEFkQ@7R6`J7QYuir9+ zUc$1zLom3gx?g7ZwuZfOhfsG;r+BUq2QR5mMCL8uFF3@ zKxkT>SJU2ophl{qgU233JQpoZI-|He2Qv%e&Tn2e1n1etz+=XSGtyt%##~1!_$Lic=J))Jj}%rp?l1 z!{otH+b&>w<%c*ajWteEqWme#f6e{sfsoXX3{024wS7vkolcw35Xomkvar)il+Wd% z)-Dx5;+vlita;sC%X$65kK~YPq8rbmBeL%>`a-W5z31}@$Z`F0+}}&h5EqKd?u9Z< zZ77&z#M7jHDN;Z-TU}Y0sgHJ#a9AC7EPncqHRhfp&^GbVKxHC~U5U{iH>!DG4|mbh z%R@Nxh(&hF41;+0Sa|4_R3;t>8|SpF$m_t5?}M4Z2v1S^l_Hc3 z)mSC~wOf|pvAaBROR1@;l3GgOt`o2eq3yZGi%(P=|G4oo(?a6$;WuwTKGBG*F4t6O zz}x|D5|)*eX=;v+-dyvzU70{|TX?`UcZ0U+n@0%kB!05TyQ-DBaE$+JeGn?~LOhb< ztxLjHm$IYRv^nZ!Ppawens+~T_};Qf(`=c5T}xZ+J@H*WEXoCGuVq&cXdQLi8J8RM zg|fMD2AuS>2uFn^J5iWO60brtzOT*F$X~5ir>wZOa4JP<8%)o(zHU95bkYU~N(nR{ z@DWjzc|%No_R{;o%3!=hObJ`dN5QvqP-WiDOC@7-72oC(S-~nbcAADD;DG$e=2r;@6m@CMg3ekxBZi;?`N*c0w?Q> ziv=6pr_WwrHq+`^P-xPkk)C;lw;?ToH%sL7bTwx4L5Az4&I_>NrMF=686t_ZuC9d& zyP|x8#g#F>bS$Mz2l8X&iulIzqd#W*P@hyAP-}lASbe5E0AjB#*6j<04SX>$m?nxG z0Wk4{!$sw$e%gkY=uGSYu1M#HCl*hdcu~fT$ea+pUV7|hN2tp}k+xXa*UeN*b=tEt zgsX*35qwR-29+Q#ZPz#^-62Iqr77r$F@^ZCZ!g_Vf0jkuC~*zq9n z#Gg_bO*uNNXvTBMRJT{VW$eTEELMB?PcV}Hc@U7Wj4n-F&Zqkoa>nX<%9vB=wGodz zbUYg*JB)i=BTIJ8M>2=zP1f|Ek7Lh+7TKDu1S^T#?YdZ-l_RPmh)N`zGCeO;~kbqsp%Ucq{V19qt{xZpJ#ha0vc&jPV0PZ$IigF(AYDNl`qkFo^7tRnTKn9 zHHLnBQzTK7nD#Cyuhg;b^?fjptZh8BNf&rN)BV{i`=#TYD6EFHPAr>FRPoVsVn@|g z&8BjnF0G|&n6NEQC?DV~UA*RzX9<@E==e0Xe<^<+z(8^w9RuubGpwvCVsw{;)D4$> zBa|k=Y(>r!a~fe#C;~D%P)b&rn$q»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

+ TypeExtensionPointAttribute is used to bind an extension point + to a class or interface. + + + + + Construct a TypeExtensionPointAttribute, specifying the path. + + A unique string identifying the extension point. + + + + Construct an TypeExtensionPointAttribute, without specifying the path. + The extension point will use a path constructed based on the interface + or class to which the attribute is applied. + + + + + The unique string identifying this ExtensionPoint. This identifier + is typically formatted as a path using '/' and the set of extension + points is sometimes viewed as forming a tree. + + + + + An optional description of the purpose of the ExtensionPoint + + + + + The ExtensionPropertyAttribute is used to specify named properties for an extension. + + + + + Construct an ExtensionPropertyAttribute + + The name of the property + The property value + + + + The name of the property. + + + + + The property value + + + + + The ExtensionAttribute is used to identify a class that is intended + to serve as an extension. + + + + + Initializes a new instance of the class. + + + + + A unique string identifying the ExtensionPoint for which this Extension is + intended. This is an optional field provided NUnit is able to deduce the + ExtensionPoint from the Type of the extension class. + + + + + An optional description of what the extension does. + + + + + Flag indicating whether the extension is enabled. + + true if enabled; otherwise, false. + + + + The minimum Engine version for which this extension is designed + + + + + ExtensionPointAttribute is used at the assembly level to identify and + document any ExtensionPoints supported by the assembly. + + + + + Construct an ExtensionPointAttribute + + A unique string identifying the extension point. + The required Type of any extension that is installed at this extension point. + + + + The unique string identifying this ExtensionPoint. This identifier + is typically formatted as a path using '/' and the set of extension + points is sometimes viewed as forming a tree. + + + + + The required Type (usually an interface) of any extension that is + installed at this ExtensionPoint. + + + + + An optional description of the purpose of the ExtensionPoint + + + + + Interface implemented by a Type that knows how to create a driver for a test assembly. + + + + + Gets a flag indicating whether a given AssemblyName + represents a test framework supported by this factory. + + An AssemblyName referring to the possible test framework. + + + + Gets a driver for a given test assembly and a framework + which the assembly is already known to reference. + + The domain in which the assembly will be loaded + An AssemblyName referring to the test framework. + + + + + Interface for the various project types that the engine can load. + + + + + Gets the path to the file storing this project, if any. + If the project has not been saved, this is null. + + + + + Gets the active configuration, as defined + by the particular project. + + + + + Gets a list of the configs for this project + + + + + Gets a test package for the primary or active + configuration within the project. The package + includes all the assemblies and any settings + specified in the project format. + + A TestPackage + + + + Gets a TestPackage for a specific configuration + within the project. The package includes all the + assemblies and any settings specified in the + project format. + + The name of the config to use + A TestPackage for the named configuration. + + + + The IProjectLoader interface is implemented by any class + that knows how to load projects in a specific format. + + + + + Returns true if the file indicated is one that this + loader knows how to load. + + The path of the project file + True if the loader knows how to load this file, otherwise false + + + + Loads a project of a known format. + + The path of the project file + An IProject interface to the loaded project or null if the project cannot be loaded + + + + Common interface for objects that process and write out test results + + + + + Checks if the output path is writable. If the output is not + writable, this method should throw an exception. + + + + + + Writes result to the specified output path. + + XmlNode for the result + Path to which it should be written + + + + Writes result to a TextWriter. + + XmlNode for the result + TextWriter to which it should be written + + + + The IFrameworkDriver interface is implemented by a class that + is able to use an external framework to explore or run tests + under the engine. + + + + + Gets and sets the unique identifier for this driver, + used to ensure that test ids are unique across drivers. + + + + + Loads the tests in an assembly. + + An Xml string representing the loaded test + + + + Count the test cases that would be executed. + + An XML string representing the TestFilter to use in counting the tests + The number of test cases counted + + + + Executes the tests in an assembly. + + An ITestEventHandler that receives progress notices + A XML string representing the filter that controls which tests are executed + An Xml string representing the result + + + + Returns information about the tests in an assembly. + + An XML string representing the filter that controls which tests are included + An Xml string representing the tests + + + + Cancel the ongoing test run. If no test is running, the call is ignored. + + If true, cancel any ongoing test threads, otherwise wait for them to complete. + + + + An ExtensionPoint represents a single point in the TestEngine + that may be extended by user addins and extensions. + + + + + Gets the unique path identifying this extension point. + + + + + Gets the description of this extension point. May be null. + + + + + Gets the FullName of the Type required for any extension to be installed at this extension point. + + + + + Gets an enumeration of IExtensionNodes for extensions installed on this extension point. + + + + + The IExtensionNode interface is implemented by a class that represents a + single extension being installed on a particular extension point. + + + + + Gets the full name of the Type of the extension object. + + + + + Gets a value indicating whether this is enabled. + + true if enabled; otherwise, false. + + + + Gets the unique string identifying the ExtensionPoint for which + this Extension is intended. This identifier may be supplied by the attribute + marking the extension or deduced by NUnit from the Type of the extension class. + + + + + Gets an optional description of what the extension does. + + + + + Gets a collection of the names of all this extension's properties + + + + + Gets a collection of the values of a particular named property + If none are present, returns an empty enumerator. + + The property name + A collection of values + + + + 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. + + + + 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 + + + + + Interface implemented by objects representing a runtime framework. + + + + + Gets the inique Id for this runtime, such as "net-4.5" + + + + + Gets the display name of the framework, such as ".NET 4.5" + + + + + Gets the framework version: usually contains two components, Major + and Minor, which match the corresponding CLR components, but not always. + + + + + Gets the Version of the CLR for this framework + + + + + Gets a string representing the particular profile installed, + or null if there is no profile. Currently. the only defined + values are Full and Client. + + + + + Interface that returns a list of available runtime frameworks. + + + + + Gets a list of available runtime frameworks. + + + + + IResultWriterService provides result writers for a specified + well-known format. + + + + + Gets an array of the available formats + + + + + Gets a ResultWriter for a given format and set of arguments. + + The name of the format to be used + A set of arguments to be used in constructing the writer or null if non arguments are needed + An IResultWriter + + + + Implemented by a type that provides information about the + current and other available runtimes. + + + + + Returns true if the runtime framework represented by + the string passed as an argument is available. + + A string representing a framework, like 'net-4.0' + True if the framework is available, false if unavailable or nonexistent + + + + Selects a target runtime framework for a TestPackage based on + the settings in the package and the assemblies themselves. + The package RuntimeFramework setting may be updated as a + result and the selected runtime is returned. + + A TestPackage + The selected RuntimeFramework + + + + Enumeration representing the status of a service + + + + Service was never started or has been stopped + + + Started successfully + + + Service failed to start and is unavailable + + + + The IService interface is implemented by all Services. Although it + is extensible, it does not reside in the Extensibility namespace + because it is so widely used by the engine. + + + + + The ServiceContext + + + + + Gets the ServiceStatus of this service + + + + + Initialize the Service + + + + + Do any cleanup needed before terminating the service + + + + + Interface to a TestFilterBuilder, which is used to create TestFilters + + + + + Add a test to be selected + + The full name of the test, as created by NUnit + + + + Specify what is to be included by the filter using a where clause. + + A where clause that will be parsed by NUnit to create the filter. + + + + Get a TestFilter constructed according to the criteria specified by the other calls. + + A TestFilter. + + + + The TestFilterService provides builders that can create TestFilters + + + + + Get an uninitialized TestFilterBuilder + + + + + The exception that is thrown if a valid test engine is not found + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The minimum version. + + + + Interface to abstract getting loggers + + + + + Gets the logger. + + The name of the logger to get. + + + + + IServiceLocator allows clients to locate any NUnit services + for which the interface is referenced. In normal use, this + linits it to those services using interfaces defined in the + nunit.engine.api assembly. + + + + + Return a specified type of service + + + + + Return a specified type of service + + + + + Event handler for settings changes + + The sender. + The instance containing the event data. + + + + Event argument for settings changes + + + + + Initializes a new instance of the class. + + Name of the setting that has changed. + + + + Gets the name of the setting that has changed + + + + + The ISettings interface is used to access all user + settings and options. + + + + + Occurs when the settings are changed. + + + + + Load a setting from the storage. + + Name of the setting to load + Value of the setting or null + + + + Load a setting from the storage or return a default value + + Name of the setting to load + Value to return if the setting is missing + Value of the setting or the default value + + + + Remove a setting from the storage + + Name of the setting to remove + + + + Remove an entire group of settings from the storage + + Name of the group to remove + + + + Save a setting in the storage + + Name of the setting to save + Value to be saved + + + + ITestEngine represents an instance of the test engine. + Clients wanting to discover, explore or run tests start + require an instance of the engine, which is generally + acquired from the TestEngineActivator class. + + + + + Gets the IServiceLocator interface, which gives access to + certain services provided by the engine. + + + + + Gets and sets the directory path used by the engine for saving files. + Some services may ignore changes to this path made after initialization. + The default value is the current directory. + + + + + Gets and sets the InternalTraceLevel used by the engine. Changing this + setting after initialization will have no effect. The default value + is the value saved in the NUnit settings. + + + + + Initialize the engine. This includes initializing mono addins, + setting the trace level and creating the standard set of services + used in the Engine. + + This interface is not normally called by user code. Programs linking + only to the nunit.engine.api assembly are given a + pre-initialized instance of TestEngine. Programs + that link directly to nunit.engine usually do so + in order to perform custom initialization. + + + + + Returns a test runner instance for use by clients in discovering, + exploring and executing tests. + + The TestPackage for which the runner is intended. + An ITestRunner. + + + + The ITestListener interface is used to receive notices of significant + events while a test is running. It's single method accepts an Xml string, + which may represent any event generated by the test framework, the driver + or any of the runners internal to the engine. Use of Xml means that + any driver and framework may add additional events and the engine will + simply pass them on through this interface. + + + + + Handle a progress report or other event. + + An XML progress report. + + + + Interface implemented by all test runners. + + + + + Get a flag indicating whether a test is running + + + + + Load a TestPackage for possible execution + + An XmlNode representing the loaded package. + + This method is normally optional, since Explore and Run call + it automatically when necessary. The method is kept in order + to make it easier to convert older programs that use it. + + + + + Unload any loaded TestPackage. If none is loaded, + the call is ignored. + + + + + Reload the current TestPackage + + An XmlNode representing the loaded package. + + + + Count the test cases that would be run under + the specified filter. + + A TestFilter + The count of test cases + + + + Run the tests in the loaded TestPackage and return a test result. The tests + are run synchronously and the listener interface is notified as it progresses. + + The listener that is notified as the run progresses + A TestFilter used to select tests + An XmlNode giving the result of the test execution + + + + Start a run of the tests in the loaded TestPackage. The tests are run + asynchronously and the listener interface is notified as it progresses. + + The listener that is notified as the run progresses + A TestFilter used to select tests + + + + + Cancel the ongoing test run. If no test is running, the call is ignored. + + If true, cancel any ongoing test threads, otherwise wait for them to complete. + + + + Explore a loaded TestPackage and return information about the tests found. + + The TestFilter to be used in selecting tests to explore. + An XmlNode representing the tests found. + + + + NUnitEngineException is thrown when the engine has been + called with improper values or when a particular facility + is not available. + + + + + Construct with a message + + + + + Construct with a message and inner exception + + + + + + + Serialization constructor + + + + + The IRecentFiles interface is used to isolate the app + from various implementations of recent files. + + + + + The max number of files saved + + + + + Get a list of all the file entries + + The most recent file list + + + + Set the most recent file name, reordering + the saved names as needed and removing the oldest + if the max number of files would be exceeded. + The current CLR version is used to create the entry. + + + + + Remove a file from the list + + The name of the file to remove + + + + TestEngineActivator creates an instance of the test engine and returns an ITestEngine interface. + + + + + Create an instance of the test engine. + + If private copy is false, the search order is the NUnit install directory for the current user, then + the install directory for the local machine and finally the current AppDomain's ApplicationBase. + if set to true loads the engine found in the application base directory, + otherwise searches for the test engine with the highest version installed. Defaults to true. + Thrown when a test engine of the required minimum version is not found + An + + + + Create an instance of the test engine with a minimum version. + + If private copy is false, the search order is the NUnit install directory for the current user, then + the install directory for the local machine and finally the current AppDomain's ApplicationBase. + The minimum version of the engine to return inclusive. + if set to true loads the engine found in the application base directory, + otherwise searches for the test engine with the highest version installed. Defaults to true. + Thrown when a test engine of the given minimum version is not found + An + + + + Abstract base for all test filters. A filter is represented + by an XmlNode with <filter> as it's topmost element. + In the console runner, filters serve only to carry this + XML representation, as all filtering is done by the engine. + + + + + Initializes a new instance of the class. + + The XML text that specifies the filter. + + + + The empty filter - one that always passes. + + + + + Gets the XML representation of this filter as a string. + + + + + TestPackage holds information about a set of test files to + be loaded by a TestRunner. Each TestPackage represents + tests for one or more test files. TestPackages may be named + or anonymous, depending on how they are constructed. + + + + + Construct a named TestPackage, specifying a file path for + the assembly or project to be used. + + The file path. + + + + Construct an anonymous TestPackage that wraps test files. + + + + + + Every test package gets a unique ID used to prefix test IDs within that package. + + + The generated ID is only unique for packages created within the same AppDomain. + For that reason, NUnit pre-creates all test packages that will be needed. + + + + + Gets the name of the package + + + + + Gets the path to the file containing tests. It may be + an assembly or a recognized project type. + + + + + Gets the list of SubPackages contained in this package + + + + + Gets the settings dictionary for this package. + + + + + Add a subproject to the package. + + The subpackage to be added + + + + Add a setting to a package and all of its subpackages. + + The name of the setting + The value of the setting + + Once a package is created, subpackages may have been created + as well. If you add a setting directly to the Settings dictionary + of the package, the subpackages are not updated. This method is + used when the settings are intended to be reflected to all the + subpackages under the package. + + + + + Return the value of a setting or a default. + + The name of the setting + The default value + + + + + The ITestRun class represents an ongoing test run. + + + + + Get the result of the test. + + An XmlNode representing the test run result + + + + Blocks the current thread until the current test run completes + or the timeout is reached + + A that represents the number of milliseconds to wait or -1 milliseconds to wait indefinitely. + True if the run completed + + + + The IExtensionService interface allows a runner to manage extensions. + + + + + Gets an enumeration of all ExtensionPoints in the engine. + + + + + Gets an enumeration of all installed Extensions. + + + + + Get an ExtensionPoint based on it's unique identifying path. + + + + + Get an enumeration of ExtensionNodes based on their identifying path. + + + + + Enable or disable an extension + + + + + + + TestSelectionParserException is thrown when an error + is found while parsing the selection expression. + + + + + Construct with a message + + + + + Construct with a message and inner exception + + + + + + + Serialization constructor + + + + diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit.engine.dll b/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit.engine.dll new file mode 100644 index 0000000000000000000000000000000000000000..46cdba520295068571eb2ac09351c329b3731cbf GIT binary patch literal 116224 zcmb@v2Yg(`wLd<4@9OUE-Cap5$-64HB^SxpTVzXek!5f%m|{XRHocl)z}MWh33ypy zNPvW5T7cjHNt}>J3rR==5=a5kNu1<8QZRxPZ~~-35>g)K_x+x^cXuV*yuA1S>toNI za^}pLGiT16se8l;H!4#p6~_O!-&X1oeEGLX+;?`iA-TTuv3m9S*fWzJ2_62-q+{QG zZn0~V=bq!8enHonr*GWoZtgnc>@IK1#;$WWb}c*dn63-lv(D~KChe&{>US+y>hO@M zu55Vsx}dZd)#R>tXr@wM2`LrTvA6vK{x0}m#8;_C@f(_MMv#8_>p~>{o%Vo%dM&z= zp!`?;`aun?mI3dP^aJnLDoFf9`4}pJZ{p`6HNH0bfAV)#NEgT`!iUu4>D_$x#hVen z^D)0(tSjiQ{p&(CdcC4|CL)D4*4;wj34Ck*7NNO%y|d4E0Z3W}5pg}W58M(-u5m6V zU-3uU3{|H-^mV2Fk`Aeu#8#c_eil;Os=)*LCK`^Tl%2h*I31sE57;*uUL9N~iwHMI zCr^k&HH1+U1+2|84K*2G`1bV;e!x%4u+EtfR|Q*7YJ~_QHX}k;=)S63>S4uuThAY#YK`Z(I~Z|i)AMp zW?4K|)^5qR7Z)>i0m?%QScd5$&B{UoAZ2!TtFgDa1nR;qdrj{$7TiE6KN4W2F5>)! z>AlTFA-R$x7)szqlW4nV8+d+ja zi!8KE7f^P3frWI#S%{c;WH}_6okRY=9Pd7a zwaESx5=e&WO4bl*N)>_{q%~A#OjV?9P4ysn3)ZEE(Rsr|cOv9HiW1UnH7EthS3FW^ zcHV`Mdla0uUNe&mx8_1^3Fl}=l7gi6lGn}QNWLwW>5au&d+ovZq7Bl`;oNXrvIC#@ z#99YV8$JeL-cL}7dn_~5rRwshr0TqJ24apw%$7UQ+RawV%CAgWUIEe08bmwC!^uZ9 zrUFvtj!tQBOR}iuSo=VOx0q>bnZZQC(O4=h{3$|>TH9DvsjnuR0vMV1F_21)V-*@L z7elk{fELSvj_dk(TuJX^`rkh`7x{bTk$1>~c>cOe_^^ z>z|#9rc*KZWJcKDmw+Xuo3S}c&1tnbrywamK4lkAg~x$*v~u+tFe>fc92H7aQ8L;R zfA*B&si;Arj^tb7cTYp^Z2NEz;-P7_$+vwNYC(eXy3A+>MRrJ0R^G^DBbl}Fh_(IP{@O5aK~ZE{G7%3d31SCQe4Iv<0zZxYl{Z!?CbV?F3y>(3Q3YHg06De+X^go$f5$ z<(>iZ6VdJGwhj#JB4?a45fM%A$T(-ga}T5JXl6$;=KYa8J{ytwcg3X1xFB)htGVZ(K^^+ZgEVS}%Rm?^$Ug%v7X+=c3QBU#_+LJa-%CLo#@pK}Wi$p!9i4B~VIAr<(r9hU zOCc)bi8Pz$vMJ>_P$O1;mM=1pYACS9h!RcGKi-c&v>H$E-f((vD4W)FKs1z%x>Y&i zoQoJrO9!MyMA8sfTLZOn^Mc^evKn< zzuX#%mScbzRSpb}J}W8&Cu8}Z*#5|fR%sCS^-#7=^$O};k9wzVQOfgnBdpc)r%{9+ z2ropP^X;{!i1%wIvIQjuM^@AO5fQNK z8bt+yccJBOMs}*w(?peuig33eE`M0en^y;_M71xlV%oF`r^5NZn70%u z?X(2#JPZ*B=7N=LhX-T7l~2WL)V%}K0j8?2e|Jd#2`f}brSMOav>s~eAIz;W5v8L1Ac6uO!p=Hz9SW@j@}Pu57ngV*4B-%+K)1e{lKW>HW=Rb_JcSB zg|?PVlcvc4!|PG+t`z{hx${NVj%PBq&UY=WMDMC7AA3W@b4vSReq= zzn>=G!Ef&+P+G)@ikZ8ByO+YB?%Prm%Jd~H?@hqDWu*1^DZ}u`bM2TPUj`o_LYCSj ziqvwq5e_Mr<6C%sq`oP%H*KR}w+#`y$D*Esi~(wrn9o?G$TCU{IT$M}oosnCDxj7O ziNz~`kTMiPhoQAGZ9UZ%Wy%zJrQh(DBAd68dEX0o?-&M;uLMJw2YY8%f-X~wm0+2{ z%Yz`AviLsWD3i7Rbe4A6;V35#ei~-+TF_gb$>b7U_d0}!m$N1xfG;2SZUD04l|Zu9 zaM0~78%EqXklCFUu$>ONvV{ed4vbm10&ffON};x8I2(~BEt+dK9Eb$~Ya)%|B`gRs zXcb~mYrgN7W_N!yS0at!#qUJ(bL18U^#4Tj9yXka?SW}#`&|JcKpUit)}Sf+Kok_v z@O*xSqxpzI#f?dJ=6bXV+ADLn167O_BNuXrRRU)t)-n>&u9qL5cm3=M(XPlzo2}k; z(XJOa49@LcsN;Jt9sE5SHQF`v&E*fw9vAI;JHFt7-nBa1yI^paB))Xvu21)#9_{+* z)*pPg_uYeEMr6eMD=H(VWZ}%g`y}RHm6)RjZ*qRDu(8 z=R~||m0&||ZN%#fg89RArD_UI8pF%jQWVcz+!%)8t^-MMO*5qR?(U4wl;*I-QD&1c zteWwiU@?^IaoAMgr}U>5+vIwh?mLB~IgDw5-;tu;au93hjx&cB)I^>sk&Db>*p3y* z+a)q*4lk;Sd{QFQUR{)iG+WSXgV(o}v5bV#{(nVJA9C+Q&$$vghMq4;@xEN_fZ6a|V`MNNZSJ2g==Yu4eCs&a0ETQTiR^m~CfUBGg(PjjJjjk$A0qv|{4y z5}ksI2}2=z0dx1%=1zGZ0fiCofq>39mEC*(Zg}TsAXWrI*^X^DmF-`M+^IqjWTH%}NLPuL-nG0`3+hT#Ts*tI>f;j;O zrIbk%qg6}{2d0b_^-HRm>i;TT!Eikww4Hne@bK^d*D(f5xiC6qT%&FD8R#bdwR!Vw z=t2y));6|Pn|E*}%=T%MaZaZXNO*B2eHOwQZ)GJsTf#?H!gB=v_)2)Lgiox52L=B0 zN_d`xom1pb0bm|C;VyRZ^wA8zxuRKo1WZCZ!>q*4Z5&N1psWW$Nk2hJH$h47&TUKJRun!-Bq&MSxsA%LBPeiG z60ne3Vj-0<>P4&U+(zY?E@H5;wsE+J0VcZ3<^XGDv0mR`IPXWh>hPM%GWO+2hPHue zB4*)X%u91kJg^gCTj&V!AOb?CBgAuxxrLoHpES(P^oZnQmJNfFdcuX(VPk%8D%4iB zOTS`#VVvP?!&g?rsJ-==zQ0KCdbESaCdvq%hkXY;R2{_EvNvR#aN<_vRIZL$k<;>A ze{qT56nCJ>5PhX}mkeScu@{T@G>W*WLY#H#RN&;FF+P|GP-f69A{(4cQD(qfyzuga$Y?mXz=Z`(U5~y^$Z!bgl(Q3#M5>8+&(w#U`g!c6zVuznKcXLrnm0im-e+tq`WDY7|748@lZWt4uG$#C) zG5F?;Nq>1v`ijx%nqLkgv$y$GIsgaFVu?^&u}uC^sUB1Sm{Vo?bS7^%O2?yJ3hgG> zr>luMBpR7A)3UGlQ_8gn7{w0)O?e%?Vgwi^`c3y%VlNTIbb-d!v-(fIb5;$$72w&6 z-U$+elc3fUMk-_WJ+!6jl)ga{3h`Rngen)}YGavNP87r=8iyrwO*vhlX^+Uc1E~O4 z1u?BBSyEL0(;9?J8=n9Zp|XEUmAwdfF*&{mQEB%>Bp-_zHI>;KgeshT)1D*i}Xm5ads`>+&I{ z9|K644PX>$1((?{x-Vp_Hq#f_<-*RF@ZnP0X@C*!C>}(h)9MKE=&=MWVBMhW&p>M7 zup-7|>@6G4=Yd5w0^E-y#-b?NvPV#jEJ7CTZaLgw$1!*@OT_sPM3#w6qom382ol_T z5nl=1$AD)zk1^$b1WdQ$)rJu0qAp&DFXRz(CP{w)paCrXu&$g3@zoZV^C|Iim+Ol_ zj6)+Xzhd{5&IU>DLjV8~rE?hgGy^ayoo^86gwDOiiy&0pMtNdLg}cpi7e15+_KD^A z_6VOO>t~SF&P`}i4)nSmkGQju)6`p9kx1AbL=cG&BeC!ctQuiosS$|uT3=Ph5-K}K zuMu5jl-7eL)BPN?7%doQbr?+Lq=z&d3L2&f4N@00H)!ZYF{mVISVbCKG{1k+CLBqO zbRZe*w+lbhR5VqnXvs!_SIb&LjW z&mOU5u&-2axrYOoGGeD^f;&2#cE5}WX}Pb!gO+=oAG7=fqZgovuj=TpF)TcMFK|OA zq(q+WU9-Ufy=)A14k5Oj@1jH_A|K0n79&#e>qx;OyYqdfl-^Cr0aQgW2ZZbh^T9Yzx1F^br_&t>W9;jw1`>VG^jNYU1gd_aIGOd@*VW zqMBz~3dj6t2B(J4M48?(akVKUhZ?$ZY~*Pa<9-v)PWSI1(&T=tu1VVc7NRkAAB5UQ zhupE5NeL}aQTN--NFmFoz59St$Iwo+i{F8>RYyc!Fv2b_V-rQ)@4@dL0)NtweiU=T z3=9br(U`j&2{HE>#Ar$ZYQpI$ceq{TR8Wp3N~`Q5+Dd))b%zswNW11=JHh_CsCK6b5&mmcglr zh09P^sdy@k&^Uz9wjz_m_~x{{LwYFhSj;h92o!tuf0CyEf|JC?g6TX9pB6YY3SsN4 z=DLxENckyJWMcu6*IJRhi2F0dW7o4O>axpvw}4Ty7baRJ>JUvfRR?0UF6dIzR%&^~ zVY9S@#<6;6`&jB&(3!8uj0%*DfM4)7O%-}EBMAfL58KiT3!S(2${C?v&@L|OAz4x3Lz+tnEPvZq#2_Q zIu5!|J0c2uMh=PP5okkTH}d?7d45CCx?Bd*{Sv*Ffm5F3LR6TDXvzEHNCKy|A_z)u z%Y7Lj^C)K{kP^$P8G9V+ojcWpM|o6({vWBSf7Qoz4b0$QuMbH)_r$0#XK2|(*Rl$i zKq;e_SU8)BZY8IHFr2;{dLZKNL4gVEtwSkW`Br$Klr1d5=w!?NEz(B@rO|yo`a8t* ze@zE0_Z6nMCd1fFUJBNk(o18-R}sB+1e%cY$z9+RHmKHjL0n<~o{NG__ccIdhx|~B z`+Eif*#Vi&8cNNq$iwYGTa{VbE57<<*Rb3_Afx+7IQHNO3RFX3LONynU`QB74p9LXQg-b!8E`DJ{ zRpY0kq6IZ$QQn(CUAP(pVq|Z6QbjFk6D$>W|BhsQ<^fk>00S@85mja(?OhG5ns>GO zIt=Njt`)ZBW@6}-%wj4?#tGh%#vo&mcr{AV!&?fhc2^_6CEaEyvv;2kvUnEz1kPTf zsmu6sAFLi<{xKf?LH!AFod`%rLHM6W@gE44X_*M?&Wa&DuP>G>$T1jvAW42^)*HW;B8 z2e?ma3Y~pO3%9lw-$pjuD&m+VtQ=?-3<}mrOC%5B)as%}Luk9CQQ7T*eu$}#soGCF z6#a>7M5$s3*suiTV*SDnTaHQOk+d7e*NnJepFLt%i^%HnWt?j4*0_ST%>m+?4g$Nq z=g@L4a09LPd-xqJeb~t+(=$^DL=bSopd6D9WU_m@y$IqZL%iFGB3Ta9Cn8b*ziW(+#Q5-kT36P#2o&Vtg^i zri@|&`OD{t_^kj^(>sjpjiWvo@^^?LC~shLiLL_&E14nhI6!GobO+eNf+aohA%aUJmF%BSs;K-_-b-Y%f<5DXf&D^5tW`$#Q{4*<8WF4UL5ytAwnLFE1}Yp z16+oTk@Lvc(nfHru-Pb`k8cq-SGdx90sQV{@FJcYin!2#w)YlWa{+Z&1~7?SebjA* z2YY$4f)&*R`YR(g569~!jp(>1YC9CJmB8Gw%Pduw9n2{PRr}GJK0|e>73-_CK8QLD zk>6gt2~B=5$SI6By|zkVoauE}0`hY0HIqVexD|7R;a{b7eNgerIC3U4cgR_Uif9Lq=P$*+NEfvxPk3 zW((P~v&<&;l{c1FT!dt;MLdYu6h!zQJ^uqpTBd)nR=5g}Q!X?*tn3JuPlR}rbb7>X zl=#Uv>+fa^Iw2PezjmhA#1VfVANsW+=P?gL{nN0rO?NzC+zAw?+>Drur3~BcghR{2 zsYeSy(PPCCCuIab2E+S6Kt4>f%(p_nGh$b*&`4%xG?MO1;S6a~(`XjY!U&a>$U?m? zFzsTo#BL11I)r@zJ4x<+kfBTPABsyR^*(V}p0+bpY#%1J0QKFqf&HZ5IuarLe%Pqy zAExDiYqJn${!d{Ij6~R$5P_B#&7Z)R{#=W>1zHdrbY|Av0^K7%&RQ^jV1=6#PdyTw z-V8Lgw+fDnQ77kM%fP;e$yi=WXsShTgh zTUpmW`0_J$!BWvH3Z_JRUtn654@|~QiZBepeq>06Wex}9gKKuF;sD~XQYX?V4L&eN zR4i`~5IVB}r*~3j!{=ga!ZsZkg%+0f+_?x@5!3kx!tS6SfCXf^^9Uz`Eu&MRe|R%{ z3+9}E1y(uBFSI72HRt-10%S#7+#zQ7rZwYSq+5rk&9_*;3i_{i`Akk#8_$@DYP8DFYyeC&SPJPYVpqi8lv#xI87r8 zkCRZ6FQchHa=uhMa#{{-ac~PFEcQiGb>@Td#E^4~OM$xuH#|8&$8))e4A9OZg!Jin zY|BKUMD-H6jiWIsNJPQ33cvTuduCL5zU>=Ra~J7yR^S-X9Vi}ac{?2_5E4UOa;nc4 z)BEY@R)Sz7!m6%DXt}Lzh4joe-E0N3CD)E4QRIR17HXPHAjGcdU>*Pw(`%v7Sv5Q~ z|Cc<3r1*62kB1Kd_p(a+bbTAa;$rgB^lcv3w|NXNTz6 ziPS=RR4*jL-ib)jadr74>M9Fb`Cvf{bE=!jKE-)`pB=&RCby9UVXXjA$)3+KO8PMC@#i&0@I z*7eBgn0p#(?e{Jy+3J+V@?HlzZc^YBa2~TGf=7xcLnI`Rjwqf{2_JZmq*rwwq5C6i zP`**woIm2&`RORTOuT+K6CHXD>a`N}+65=DEm5L$d9W2#5sHX!< z^}*V}sFba>DFSBWW}Dv6oQ&@wtwDkCgWdVCPJsuM#KRQfyCOS|8>u1p7n72sl>NxrxH<3IOitl-6^b8 zb9T~fndsf;z!$7!zdU*++c!;Vwdi6UOIsuFW^QysscXKe1`ZvQM1Y5S?pRg_Kc?k} zYuyw7sJjQ(M4m%?94dW)lf|JQA~;I+3kiS1ICw9T{3&H`!r#RkyoK;uZZXM>u#=#L zVKJPmr}{8Ip8|iYlYN{)3wVhUZiZ312*L|~o(ppGP2P(DhOWPvn)f?!aHvBAMBNR5 z@VWYUEmwV&bVIGZF=n690g>ulwem9o4~|q@o(lR?Ts^%@&w07uj>J6)=(1C_Lwp(;PdQKac!aM?(IEhz^X|dR+}ms;PIkSuM*wpLx-bFTl6VD8C=q zcee5f!+Q|Jg?)ZacO!s$FjcM%>Hs!GG401<3jy6t@OHLhf+@kyR`)_g;DH65>JiX8 zuN9gu&5laC!?M4BIOxvUx%s2e%;+;pSU3wCrsZIf#&V0uFDqnFYS>j}i4k`*BIO`Y zXKVl0fKqT?hcEPSN(!@cts1xnJ8XNBRuj|NI`ii^biLHz-k6k^z!9QKt!A`qVz9TV z%iV(P?nQ85;R%^h_dN*79t%i$L`Qlzp|&oD3-H?eH2h|`dJbIMf+^6-Kf{5=YmG$x zb&B1ri?)fxril`UW5<#7;4fIWKtir8d=fJ9lXb~8%NDpi?O>S=C%j|@1b3tLPWTvE zg+0!{Wy`co23Lz%U0*iZhf4_5$XiV0?ND^j>V;~YtCzF!&@gh#xq7ZXjd`1)eu6TN zKt4mR(_$)#Nh_wD`54x#t%%%|mK)IteK9&29mZg-ub~%`v1)+2TJHa&Z$eMo1D8eR zZg5Q8feWL--QZYoH(1B$;J{H)|4K0S$FZ70{6p#a@?xh6&?fynD?01;@9V6%6da#Z%bbxP+z6FjJ94 zw|6&c;ICpBnWXo%YS7GJ9;LU3hqhoN`1xBP6{9wZMa$2-6w#I}4$gxEjFBE6Jby?q3U)|MA z`g{7Gr0@qeqwJrS26dag|k8RQJ`8+Ng8qoH8todNn@%}&aHW8jSmRu zLR1;BX=fPjq}%R#r0(E>$qx=hy^8>o7->UZnX`NuGps@E{Fviq}$Ii`O#2a{E%$1m z(Wi;7CK%NmZ3R6R=G2T6^pxyjO`++&AMhH>S%RgSe|3;w>l0Ib3Uxn<`b2Yum9ujt z9Mogwpp-G+vkT`%sw5;dVh@OG7H=c&2LPzSTL)6!_DXVb5sKV8;w1elR}!SQ5*gEa zkhS02j-tu6p-XsJL=G!f8HeE-tJ18x*wS3xoqW3D!%88(MtAM)nh&(4(H83HYQ5On zcJ3TqOUu0mLBDdDfur`V-QTKIzKH@O?zPBJse?VSQg_lkwhklM=vmhdm3WiiMqD+C z9--;nsM)XpC}h>!=lgZQ592b!#dAz}Vah`|Y1^zpJ&uujTn>pT9AP-q0b%A39@SuJ zzrnV2ffcX?{hf55mxW*M%g8d(Rb*&_nzBgq4(EHX2Q6jx5u>=BUW#>azIPY0)b>1z zF`o-dV&d#=K&52G)^z$1X5V`+)7kgLgNXM95#nM0GkE7o{tTxd+0e)XsG>H-=;QH3 zk#zz!G(b5a$b2cC4FnA!pV*0n->;oG$M9|jd1+@ZAaH%Z_%OznGOS`4(_sgvC#>ur zj1t49+k__d4ETweq75epTrvV5X(VC4Vt+BgM~q!QA58P zgA=dUbq!yOJYKYOU(C`evR11cf!APXRlwrBrcWZIzsTfSbb&6@QX5RAjzgITvao8# z?ua(5pj&7F71Gt$T=XM9V(q|4qw3b*gkphO3frgvv0fSI`WFhbtX;K<}1W{&q_ zHQn-57bN3G>Ykh6G$%01-2l;&D!{4;W6>+()f0#c3NdwpOfRoCA}x=!RGn-`HAggG z79lDas-uO7_kM(Pb>0qqFmPj_|2vw)au-Pbyq$=)bmRRNUfp<62d1e-<3enYLYw#B zNJHpG5=WJsiWYBzf2%GsKS@$6O0;-0()faxdkZ{i_k(c#K*qfl0p~UX*um=~O?FND zaT}LU1YsN3aJnFXyfmjH+EWqz1W9w;at=cU{C1+fk?CEZO13Tf1LVsu$~g!S?(Hba zTMGhp1Gc#zV)??(dYG@LfyMRSCZzjuerE3q)(LBlskn0oa=1I-3_|z=>@d6pHDBr4 z7j=V=#{Dphzni!k+&crma~FKgjiX?mAWWmP0n9CgQ;ldbYcj-!d3-o5UXq9)WVv@E zlp7y}H9bM70{amF_2_151j4}d2OLFCrkL86(=b~B6G)Gb%l#-&pjCq4#~74ZhVH~E zkkpbX!mPG`2}l=T z&BRH5bdwRjM*J%|twaE;Qr?&Lt{E=HaAt8+)`c6Sos zq1y?qbvu3g)$MC`6-JLTRF`;G^E@yeOD_7_mC5}H3sZjVby%*AX&O!PN(5A4&cWsY zFQLGomci(TphDt74WW^AmBoVyh>DI74ifst89hzAR>*f8Mhhv1-l49gKd znd*3a@jq3(OL%XTAsJ!IED!P%F3;nq*oz94hu|%K0_~3n>-JiA1H5<-LhdKwMBM*? zTf3TOl?bo*cDTaTzCy2^am;B%nQJMBniRa5iRl6?MW#^}B+bF@2=8%iK=T(Dq3yQ< z9Qzqo1$@YGv9)0tEs|Y^Hg0oR+IKvCv{X(fjJ8zP8>J6|FNH=En@`S3OvscOleM`? zN_*@Cl)sL&m2M^EVMg&@)U3<^9Uyl5YqMlEHm-q<2v^%I_daCskLA2jdn`vo zp&V@wPgUKkG*4tuUWu$e4NE}-=tvds2PPY446!}{e>~R`aj`hg6T>+8zz+T?g#6Xa z-;CnF(}5NW_}`?u`gK{9^>cv##2WmSY84-1Arbe}_!O{+rYrmzgldS8%?uL3qgN9G z8uq)HF^Yz{s&h?1LrC6cfX=`^N~Lx@Hz2ihCjzU_!Qa<%u)@29%1jAxnX(UbGH|79 z$;3;GHN5Hq#E)tqQrVH&52*zupnW6hsLbcYMxm^Ta2rkpnN?<>t)`oiS zPtu}W6bh|-L_7_I+OQ>u4HmV3%*X+ppB+?^@#^ORTjGkD& zoyjG-ZXJ6jbTryZ>uB-laqDv6KV9VGV&Ex$93^13Pu%XKKo`#)j_EpD3_DJy`(=E| zbUQiHyJZ#>OLrmMlg>5qB*2!(5Qf6Xc2|0@xi{70y$I>W`rxb7rD*5>0BYcR9N7yG zVB!Uv9g4?qCmA2uRw3LdZ8%ER_kk`0uc@rNFlehf^)JMo!9Jp?tg1(-kV!;aQ6Wzt zAkq+Aw98ul zj#RyeG<1|)45^;;tLWEx>WhC2`k+2jcP85qy?G`J_y!z%Bv;c!jq%974Ri&lj`-~Z zRVU*_2;atDmE@So@d^93>a2=H)nO`$r;Q5fMo@Mj`XH#BOY~;%#{ZsXBJE zqi{Wt{iN||Ro^c>X;mk9nkR<(ymEF2d#8rlfb{hh{?xRdjdfBbJ)0YaPlKS*0+WdD z+iJf7L!w$>kXL##*GX}4w%U_PpY-GLDz;Q5p|a3sO={JNnm*iwJ{lsAEn97jX!NAh5ljmQP{O*A~H%0;h9nF zdEL!;KO(`1J8L2!@wxI{H4!!1j?kCapp_?5{lr6k<;6rsHb{{BQr6LN`?P8vz4e|_=Y0KFT zMXC^F*3m;H|(lWa6 zZ=&!Xov07_^6_U`M{!RFPTTnw045F$THZ#8gg!BaLsC}+fjrns%r%QOc*O8ViqCf_ zKG{D|oZeP}I0b~WJG317M=sgL?Hn#ePlP9q zOH-_$-=}eFpn8L%=7?sY5mRLrj~Dw)=O%c3TcBOF&(ivSWOQLhiL#yV^v@A)K)ni0 zI#Nf;$#HBra^5@W^L;dmQKwPxNV#CdtO9bwy>sF>xs9UdOB_LA&!g>xwWBvHVcB3# zj4igy0aerAEce@BLLucvrvcfAW%LnlXjy{?SU>4lVzCgp z|K#;Z#xco@3H3u}-4*1=nFisG#-m@1AxmP=9opuerluSkjBk29;as-WN6;(rCPsN7 zR}jqdLHvZv2lJ!X6BfW*T~GKZz~6a2f$+gxZS;D=Y)ChH8s9O{6+YQx_b?|xkV%;XC?Is7q6c;mpjBM^t;G}1U@C+HzoJQDGW3wPG`wrT+b-CTm$~&2)f%%zOcLk6fUTPIZsyz& z%qD`xqXv$Q_d@zOd4N99gP(X{8(L}+>To{!;9v;?x*KLJRK-+QWn_AM_#OnkyFo^< z<`|K~mpk3R5IW*uwE=)AnC;5HapTl<&MIhkE<<=NaBD2PfyJ)^wXrPK>TM#us!~IM zjIeS5Sd#X(2l%^H%RCj+_$}JB`ktLoo$u4-{NaG*2$(Ds;5{`~bi}cBp78W)4K2Th ze`5_b99Hsz`puuO_qxctA(Vf?KD_G^-c9j&cWe#jTHd9FYq~!G4f!@DsMlo(vrRN@ zw*kWe_*TeW^}0``DmOEqN<@NM&C;}%7V`lvi zLM0u&+ZQc&y5yG?zvu`Az$5O#=i?OX0;ucipB@ zRi9Rq0-60ZaJqu?gAfo*gw0duVfe)1Ls|60HoA!9NV7&$m(V0s(Z6e^L?8rCZ+3 z$Spm{H-r2=<2DtYq?%b5r4CY4PF3^i=efHNpbnd)UL>G!y02lXJ6#1l>AV`$dPXjo z2jlje4KtJ4L#N@TpRSphP3G#lUc4o&csaGR^1qd3=ptHUxLSh z3DWhn4y{vLLFt8{%iD;Yj)CNE?|txk+ZpDVhLbuFJ3s$dsX25k-xBs?MW5(cUf}g( z#qia!A0@_zs~Eq_@XOUO4M^{mYWVL=59ccsRIW(l!OF2$q`k^GxxYk?l3rsK(|CAm zOLiEZQ%xTllYYpU^fShUy)oe{5Z1qZ=G_dhDPrna;A4-sQzCvw7D`0%V~EbK*)^9_ zvoj%J`osx!z8*+qHs`OwK)>h8_cIBL>Lq%7Hvbh!WU_|`sv!?}-cr_J@;HX6p*A7b zeG^bH?FSwP^Z`oVDEOTJcL$4#0={^T22ph+vttii9AIOvmt|8pr05D3#E(0oGQ0X#C z#B1!eunKAwp9e&71djUx969r8_2VUZ!niLYDv{&;uwN45S8(9}H9mz`F|Wom=Bp|z zWS~RaKS!&!^MdsceaET@x_Cy1jKFQMJHUw=`qF(k*~|L4zX4*5j3W&Z{V<%xBWhOe zDWLXoH>in)>U(OO-)shMKCOs*f|$_NP(9tJI^w=edc*1DNS`^bw+WZK_aNfjb$Df9 zCSyB-D*a$=l`_0H4B6nC&YVMoI)!-upX*N0&6Vb$fRC8XlnznJt_X42FhnHtfmV`xx#FT z$sgx}A`O21gKz$J$ZI3GZsISX@AjYGgZ((3^=nhDeZl&3QuWT)JigiAvct=MUnF^T z< z8EH8#u;bsm~7(8vb`oYWeb?UH>$ zHwSePlpEUvFYthP?RWklURHwVsZk}Y(k-DDG0R^?B!uK^#DZBs@MSaz3hu{aZenHE z8>O!!TJLsp2E^S?#_&Z!jO+RyCIqK>W{B_X>NOy_7L7iJp@l!8=|D;2{*Jt2m|dZN zg=+YZpih1$Mz0ATfxJ-cDILEZgbx3S5cI9(4|%SKr*p62)7=by-t8Gw9#10nZc2=%}=&}sioY(bJ1Itaf2z9oRG zjg0>NO~(1h>`(`e|JUMMLS0Pn33N-jJ3TzYCO>JQ!PGwe;#Xs+xEIKmAtM2I7GK2y1*yIaBC64HUxK9*F_FeQ%}?DB3$cR2wKY0-aiLe z5#7*sOwz=+YZ&GIfV^7+A54bh@xc{a0n1vh09u7-abAY?qK+R1F3n6s9!QH1-h|kQ zkcuO4a_LvNgClTUr`3`aL%$HtpM!&MERP_0@SP>(k47pz8f2O2y<7pA<2^Y7{XtS=$&XDc)s?X>CgZJ;rnC=i?D@hTEF zhirKxijV5p2pCrRTL6Ln9SaZrEh!jd_;ureh9aVkGX*upf7m!gAJ{koX1X{RRr}bj zwyA30{x$fv`F`@7Jn&kZ)z^7R6-!s`%6BX~j*eP=rni#6`tGp7`>^|#ZRWdmE%Oun z+TtM<3~*9$TvxX-Gp4_S8!POMhz37``eo;88Zk~2lH;`GCL-!@w#{MqLi=IO3sl$` z8J__pEVm!>BSGz-}W#Zx4Me4}G9coe4TFqt1B?IJ>>hne0V( zvWNX%A|`MK@B61C(VGiL!o@T&celA2eC%Q?+<2s}P>1(!at(FGkHH|t%VhW9lZY0v zwT0v5qOj69Z3;chMlf5$+6x+JhH0=4@@Zkh*77=jw#Gir~<1v9t5}(SgUUsC8nGD0ftFI2*lgNyGY#)WT{?B zoyZK7Z-c)f=-&->0SVpWK+B3LsNY{wjGlFeo2RQA*BiahFM_D0Y z+IaGCu4+D1ndBkwJ{-PQ+azmtp}*GhlRU_J!#~BR&>)*4@{;g2Mo4US`|!`0nC=|U zU(vF?{{X{;x^0Y?M17ugn$NR;_jMH7FtF?RTTv+-JT?4%L;imHH7IDS>EH}0tcQHE z<|&apb|ei+;NevC9(`_AUk}vw1g75GkzWE)2OZB!ip%?NOwjgHkg2LWUVQ%^-uhezQZ;qqzyGy5Zem zi@fMjn+)5E2g#AKe>Zl-mZDs|QdJAx!{;6~UMaW+Z)`MPK4i4RPsY!E@Ps*Y_CE*2 z)IB1XbqXUI-+SY4qCEsLz^_1&vb*pTInVR!o&iw(@*6tvDook0LIiGsSB;p4Xw_UP z#B-AXGZkFRjrTqBu2uxMS>ifgUgpBB$xDH#{~`bP>-zdM+cSL*HU^o5yTmN2#z3mC zrm%p^NT~CE!02b=oNh#lO|S`dLZ`>LgF(w`R5Ey3c+5*$)^A!!Mju}3u_6Q9NQU~w z!7w1e+7^_WZ+}*!`BOJAM)li8!lK>=h|qeJE+OQ~$i8tG%D$3i>z~7F^snu*qgH?H z_!VeQ$<}!iGRjzaJMy8v_-)MnH3Mf}YzaIZ9BHnj>~-+W)Q;-wIr%Ve1Xl#G4lVtB zv|vQC_;KavI(eFhmplF3J(8PuF>4;Ai9gL;6ewSA_n{kn2-V|iY;0kQg<1)Mx0W9uW z)XR&U&8bw%`z5PzFxtB?5uraN-)M# zjfvcXh{kX>u;=@t8b|_DC3`$KUH}NJ#X?VqEU%$YZGuV!)m-8as>lO`Nso*CK@1KQ zB8JQSK}-b42$LQc`hyre`imGY^#?IAT+m2*Tt!tIm+#PopS zoMjHZmoM%nQVC2n6aK+7VLuMq-T)0QjhTwiyA3@YztoK;h)7fvXC;L5Q3=Kv>_FvW z611dxconFE!jkGW$>AT3)ROAqN#Yt9R<9{q8^h}10iYTfRu69^S7R_1EFO;`9~6E7 z|KA6}z}!SnkP*h41uIa|@+;`kda(;T0b`>ue|nke;qo4Ke9!AfU5pX~Vv8CjCi}l) zNL#T^eOi|XyPHY#K8~RFR=dPJjKzp#$-%r!gLuaQy;x+rjLx%K#11Y07ND3qNMU*O zhaN1f{SI-}xs1?M7&J-*bqj#mf>Ln)b7Z(U1TOb4TZ+)xT<_3tHPg;f7!va0@?vNIPsaZDr}PK+EEY2k%$ zba4E-i7lXskwwX26c+Z*hIj>cyYQRdnJNmoM6G8i0veO8KiNza$gza-o=B zs}aDQo9uA$usR-hgpg}4|x+U>_nj#(U-I27m*Y91?);r{~g9dPtuL+9rRA zB`?k7JHqX5vDC8 z51aG7@8w9Yz2XsZS0Kjw9!POl!l%za*(f+U2;&Gx^(TPt%_pJ$T<7Dje%RjgBwU8o zjQ4x^{dj$%0ox4rRvgHuIl|xguyL+npg%ZQfP_mB2okQWB;bL1o#jwu383hAph_Wa zGA3^1qGC&IOBcz(*=~%D{_i-9Olrmhn82oMjPrk|a*#w7>=d?&@Y%|Kpx<%mSF!nl zJ$9P9;~&`kl)s7U&kZ5}EJ;|c1E04GpUHb3s;zd5!$24hh+z;RgXOVHj3iLkHlA*A z4o7lN@d&t>O|QnMcqE)eR6oIuY0dzaOUA)*--Y<7*GKPB;+2-5x28CmDRsL?BUX2- zy4-4v;nJ=6GZ&(xXm;o4Mx}9lTxb%uP5f7fDh)m!Vp}mV6~kS;na#7uUDo;mgRb- zT70;+4?YO~pNRiprtawY(r!2u|NoBvOVAb|s`3Y+lzzZDJmY7fY40}pj-p+D9S!2I z4WbKioC!P7>=9)RUz(%XseybP64#Q)|u@Yhp$1qO;~KF`rs1zrog1kQAhK3@ zFG}`xtB!!}3nWkpN|xo&w`SG@YYHoc%1@xBZSvDnJ9PUR5Ks-oI; z{PM1{c%akKJGiG%$8+lP=Y0>^Ci*M7Mu{0=2^bFg4=&o{+zlzjjeDa+%CJ;xlnjCC zFiNI)#v7%uc(Be+ig(HqGQ>das3ZJx{-@uSF5_I5cR3vQy{NB;p0vq3yAs4xmYcj{ z5Y)Kq_+F&^d7qfAHjV$k)uD#sn+*r5&T=+@fC47I40vzN@lEiooV3c`&vkR?Nz0Hk zU}ZAHkZD|*>@YlYF8EJ|WFIq3uNfg9d=(QkI47Mx_=y$p^?`VlqeP@{?Zt?Q>#)oH zx|;F>V%~Yg%c*G|FLa}cY5zMaFq0XlV~i3>b*TvCBAgBfOWfv8muh570_rfkeILSW z32PI=E&?G?Ay$);m>mM*eLk|4Ge{drCcWzh zD;L*_<52|cRpyqLF%rWq@Oty+RhRwo!Wt@L8^aAq32bkpL~JM^qLKILe3$Q=FXEs9i01o?j4e8gjV0?|DWBnmkwDFxg?Eh;6UI<1ypnk7hO@<)AT$y!tu zk6E07GHp%M?KL#j)HJA7)Begr&Bm0K{h~44ygyJ=p1A_N5bx6m`L{%0RcX?7(~+v630sDxO*#c zY*!uk{Yo79uj5{;#F5dSeGt%#bx)B*y{J?2pyL+SD?hF4>AS{X&f|(Lctv16>TaFh zbxTNvPS8gb^{R6Juk}5rQ;-if668!eWbth9z$rrHjN*EFx4>(<=a4hGsW?sp4{m>Z zh>gh4x4P#d#&9+>!rcJBe+}wCYp+3pM!gR^Ma?`$n_KAeZKR%EUOb3s49Lp1QwPo(v0s5g1u#Q0}+v~c1DAj*ywah|PAQ`~Sbs2Sf2&(7 z`OwoRB6}i|k47@RhvE=^(HK{ja`Dt>Cz70}(Q(|#;AVLef=1_ClAOczm|=GkQj$ij zJf4XeNz2$Hg#gZn;#{Nfj3x|w*35~rKBBwDrum-XkWL-7cO2THL$}YivF&rm9lCwi`-J&fs=qSJ)?tZ$|75#BZ}@f8 z?Ly9tX%`Y_NV{By64@@~MVSu#)97dYrCqK9L`}P3C__hVhAaE>(Pw(0*X6=1-YSf**?0F0*3NRu{oj(^ly2quT0X zCXeYugc;LT&}aK^E0en4*JsR!w%Ur1ug{Kz3||a6l~SW=rwI$4T9uUm#8zPne#)=J zaG=WMRrGt>a=Qp>NF`g&}l4< zhim!0j^(3SM7MDsxEVAWjIYaF%}|wlo*{ z^C|CcfEp60t{-u2_&Ah*ChF(CPFzNbl)2D6T!R(=7&N}iesOIrBqj@iR2;^1n^DhDjFEoAvj7HjerY!>HxFEzNonX4}MKz0` zq^3h3UCcbR7{s$(W2Tw+Y%S)c%pNW;Auz;Ps;9dDM{)Ul2&P ze(US%E&Np4m4NSV-5avwBMl(WCGc2 zYVM#NxCYhIqPMJ8)MRq6CZz${?`J?QIp$E%hiNqaFac8+_4m%~ojr4I|6In@sq^6u zz8h=T!%BSu-@#SzAG6szcjGxlLhSymQZF8ixZ{pdU-=_{!4>|M$E{k1@AnaQrXjrK zeD@3j;}5ijj_>?pJO;x`{WCPcpYLMnFX2C7P#g6CfUu?_=k-9Pd|yKvcq_1kr%ieu z{(ltzC*wbDO~yy?KaT$v{zDhx@6j&CGv=q6p#e+X)Jk`2`i;H@^??D#znNLmZK>zd zbT4kDJ3-tNC4Pap^IP^zvek>d4Bgy#25V<~4e6Xw`1x)0F8{u_Ok`ke6L6e;T^#S(ug?i+C1)l1#CcD1Wt&!GFkA-WGq%va&s z>Ni5es-@)ZlKO`aX;*(v-U|L)?6jM<8U(l7)w2Tsvifm&AfzdbAk|VgPN#c3=xkSJ zhL}IMhY>``6vh=%~mUOqP=TJMe^}(#~z0>I~olX3|okRC~!j0b}rdlpm1!3#Q(=!*7`dl)fWi1V_OON z`JT_V+v>|GH?7LO4|l$yN>Khs8oH%EDHu)`*=U@$XR4)k_mGEIwzEeZ3vPoF=f{X& z93uX+vUD38>3(uHI#wJ6UBX7 z+VPqmN<~hjV!X)YT_Tg`O25w46Z5M>l(hb3l&fdk>3+W9@(xQ~-~0@u;&0;~Z);a~ zwNP$9)Jw|O_OzR6b&m5!Ut0Zc#aFDfx)-f)sXcw zkQ+^t=>DmnE%;pL4TEV_n84J6#rOp9TWUoM-HW>J8M0KJ$jNYyFfa6fwjElljqbDK z_Do8vpY>7dezol3PFsC@F6-Mqg?WFNB`24l6{uk`;Nee36PU+2=)vP8bU8vTbH8x# zI)n_x(DVXBEeLHxXa*#np}6`O@=t@bWBkHM!n6cRV_HhmzO|fbt$t|ALLF)X-bS?% z(zgX^X@Q&yJ*9AeZi0mVxk87!p}8oC6bN!m}AF;q~eN$5k+nd?+9UNvF9BMS`8#CXXP_QYAj3f!b%+9xM7?Jz&o z3B9`xzu$1Jq@4*`*5PI2TZNVzg_gCTnVeXc+}zI>7Vm?`d_DI^XD>wIl2sc^(B%wr(kVW-Z2|1E)iwdLajcOhs-;aBc5eaRRw2PE2p*a$I zk7|_A_l3@_YP^Kr%Cfw&nj)c9fE)~6p=N{-RL35)x&L~cC7dH^-(J4Ce`e@fKQvBo z-k_F;NcCI!!-v*kM`@)%eiNaufVXEzT4RBs+mst3cPDoqKBUwg>Jow64albu+A5*f z1j`+Y`y7xggubReuI`Y~)qd#161oMUuORJi30;KHQ|f;8poAt&A}tT7PfKWi?(m^4 z>NDyK5}Jb2*QtlqV-o6Jc;WoNU{3tF&^ZgCE$XZ4nGpNRqQaWab?O`HSqZJ1r$fI0 zUmDfBdUfb|NqaWS&{OJ{61ps*LoZ1QmjTP!p>L^IBs43>wC||b1@f^$hJL8tmb9m5 zFtiJHE`n;PVNK`t>c=W!ke07bW!g^>B40iu`F^hI1@fLwLXN0bfgBL3f5Q+Uw~SlU zxkbIKCQ81-bYgi;O_R`Y%bLzvp+Bmb5;_*+|2p+&HA_Mz*aYjam%2=_{JHlT@a(_U zyCf|)j^p?K&t34K?vBtlqUNBv&L|8=S@w9(*u zuP^0vh&QJi)%Ta`(1nJHx*y3NsX9UzN$6veZ*u4|3Ed@W(?jo<&?6F>8M;YuehEi} z)~VT{9g>DY1fjvuT@nHkgboUQL_)t5$VH)#N$9^OFl|Zblg65DpJ{6gt=YC_Jl!95 z(EVZ~UF#sa4GZZGHPBrtFjvl}|DH~|=TD^jScvWgLv*j0O?O&~?#5YkADc$^*e<$X zT2A-FQ|LY^xo)39|E~cbQlGcmLYB2Uyg9XI+s{`_XkW8!(ZO^#7<6xO=x#<#NPTa? zr1nYbghmH`D_>}zqb{7<-=0!$PMiz(_`&(@eQLSc7D}lbV~n2_C;qFV%)1dWA@wP7 z=R_HQuDCD9mLYz{vQ=;&9mn|TGmiqEr;X#_eqY?H75ytibhnCov$(fO{2K9JA?^-w zXPbn)K~j&Dn5hzz7dI>JrRF-o+#>FE;=b?yvGyhKQC3&`=f1OKLU#5gEBhJ!t>uyD9ixv4qZ56exR;{2wUF%Zn zQnmh{bMAd-CItKS`~N=p<-GSf=iL3?bJzDBp)H8fE{(nY&PU#-q%ysJr<))~)TNK;zE6Uits63jru)Ww(=33Z(Gs>ZW);Lx|bAxLU=;UszKqFEng~=Dd zz1zLmi84XnJLsVaq5eb3@7e^KGkr70=_#{1K$jL@iZZ{(c?Ia+oa^B0WhuAUlGyJT zLvBPlXAHO%d3nj=68>QN9iY?7_kwPm`b*H8Cq4oCp!*rnchJTPXwtx!5Zc|6wvQ&f z0{-mjoX(ypZ-MUY_SgPSleVkUK8S^%?)@0Peme0V&?ztf7WCxAZUYp3@2u_v7Pg=7 zh-T@OWKr+QeFhZKHna^zYbInvXLR|{0a~hPm!zEYzOa3&#pM={*Dm?DhFyx%KHQ(_ ziE^etn8$PuI7O0QE|c*HIqsKBnA87d(g&b5DU%`X=a~ljT(_A6>>T}Y+MEFe^wzYq z!T)M(J!oz6Qlvl0$t5#+^m0hoOn9q*0X?4TgZs18T4w=qIoS0T4^z?Y9?r#3^qqz6 zeL;2F6wO54p;aI>MK6`F0!>Xm3!MI=)*{TSQI7@GF{K6W?&B{6b&uy(l+vH;^k%8$ zj&57PFBrq=aiOmj(44|65svPIWuq56?Q)n?z-7pqii$F(L4Qu(aOkfpyat?c`8R^T zRDLV?E6}*Lh&78S1?`Y)`EL07rvF;DWq*- z`&_gr+)c}2I;4zCwMa^!L;Bj~QnuXoIGwkmo!@#E_lqI!Um?v;qjxB}D}!sH+YIh& z)}-HpUoAcE0x6SUi~DdgYyM5#i5#t2)9si27q;)0^gJ&m_B$!7mxNvbtBxMmlT(=1 zo9VMNnO+Cmu4r)*=i+wcVqyCarFX1M--2AEjpMd@rSuvt)pRs;is)RSZwdXI&@{wb zgg4TdeglqOFYZB05zg;1rYL%06z7p+ggx)}0{A)IUIn#!bGfCKz6JLTS2PPd4pVAT zCZEEWn?4l3-PPUDu{Ak`->rG!ztKD&If9jw+Uc$mH6K1LOdVr~>#s;vcgaP+p&wwy z#UqiMO3^#q^ygupfLc@j@g4ks4zT;hJKes8`;jtdw&v92W8kK(eV@e6hoW-?T~C+I zO2(Plg$7MbPtLaJYJ*1i&d7Gq0fWkC^~rYA+XnR+l9%lvDj@v3o-+Fm&rYG?F*G(i zjn0Xov$8Yk@)(+x-Gd%6==pqac5iyop!erhXZNLV4ceTsD7!zU@_YpP2*yy zspqb2Y>df2#E1N0X=c!&UO&s8K+|+68scXM_HjJ&W!g%>H)JtApOio=wjR>Y(!n|1rCSQhBmU*L&W| zJ)S*>4oX9~-ZN~4*JAV zPREVxAaYbr9~#;0!JjxP=pRN_jT}|bzljZ9vxrcN9Iy`-{GJ!G#ZS}Mdo{wMg zEf91vc|rFRKqHLi`Q0;tCJMTq9_;mPwwI0@l$qqc{SDO6}YDNr; z={|$*n93-XueBhZmrR`mbh$yl$$cYx3EdJyV{*=+dkylY7U!Hx&uG;5aM8e=^XPAa zbiX~1lyt1Eo|7X>Axjq2;rVi;7pS|DU0XU(EhD_ZjelF|8COltGMXspq`E!rlzTZX zilHSr%c;?zk!6|K7g=x6IXyG+I|iE#8dJDDX9ca0j=Y0z?lH<*LHh*hl=A0;q>nN&`XN~L1oFHv6 zvRjI;0eZxss|H?~6QYBHbpAq=GlgT<`D>x!f_6x)w9xUXw(RDd7Wy=XcIB)m3%euQ z-<>%T>Z_6G4=KOMX{CHY9iG3W+zd3r$gV6qfqkDMBfA0huz{u-*&9;_s*N5&Iz*RGncHm>H5!zcK2Wt$i$UCv+US6w>phpvdoZVs+|xN_*L$u3x`=uT;{0V| z_vrf?Nhw`SyEP&%my2n?pbpwD=rKO7qYhd;;&I4cF=$fil{w$1!8p-kS)f0oEe2gQ z;sDTZHS$~{=shFL#y;!!DS0OQ(`EgAD%8mH)cAw&H(5}J=f&}dfo2IhnN0IeP&>^v zsQWzZdQy!+Q}dtC>7a8As>%NYkWbLDHdIzJd0yLsdkTkJ?95> z*r1>Fa^tP$cLW_&KkJnZlscO=Ii1IIw%{DcMw!@STOUI>>!7PN@~q07546jmJ14xC zvz0PR#GmKA{9%xd(+E8^6KG}(9nZOp)$s3->+c0k*5w)iy`El{yp5J?O{C>i&K0!9 zg!x#3m3t*UZO|341y_-04tw27PnRa=UPUzqJ>$v%y3wF9{d(nIO|KYKgIUQA>RT%Q z5CfyhG1ThbL6sVL_6|6Kdk*!2Iz0OZWCATWGD@9~du)Cq%Sz1#YB93HiUGOT(H{+} z%X-~$9ldSP&E4Mu`dA}c)vo}WnPoZ;-v_#$&J%Pp`QY?nxi`=ngQict1$UNO1szjM zOV0wj*q~oen2EbSH)>5acTlVQCi+^?R@ziLKKB;F5GbXzsdQ@YPTCSfCAqiK2L`<{ zVSesy{P+;l>xw~nFphL7T4W}fOI#>I9W%|yf-E?Xm zqYmocvn2Npy4tJJ;)$)fKc<}q)y>mdjIKUgqj?pr z?z?GRrABwVo2+|ira_O-$i#1p)(F~4S65t@doS%@z?!4{OPcv`Hy`T2P&>guC(#L{2Xu!;2^l&GO`7kZ3iHGtqU2PDD@(8^XLwDpp+R5Kz zv}_^!+hJ^Yro3(|T2Ej=peWb*#9BJ36)FzETR?bdJUutDRByCpqIM+9y0OfP;c_euJ* zphJr5_8`4&kVnu5+8?Y2%k-RG+mM4Mw_BuFJw;z>f6_vpqKSOn1nJ~?@>5j2SRoeU|PM zbUk@{{U!G~DqG63>!~C2c<%4$9YH(Dk=d@Er{U*n*|J{m=e|H&V(7EnBlLkmW!c5* zMg1}lLMh8Wp8GO2pQrtmWmDcC>FF3s&3lEeUB+f^;5Uqt~@eM%dRV zb2)3CRJ^WwjhY)6>H2$<#;sta{k=(Lf(|Jzvp4C_2634k?G(dXbW~&~6!)Irr}x#?ZnWYC4>nLy7Ov>LMa zsL5|qRz586J=!Gb5OJ&ffPQ8Wx5y8u=PK6J>BO0VAdH)n$K-uL<1|ulW;9tJ&>BHI zXySk=c^}fe)$H%2T9sR!`Vn2bhS3gM>YSbTai{Y9gm$hKnbg=P^t7O@p0C{VaSri< zpbk%uq->y9jg04}pVB)T(d}s!d7sil%^b>Bx<0ig=kIjfpmQg<=@ji>r)7D9&IxKX zT2NHbN$F#!Xp11-$4=1~T2uPiKd5(z{b}p=4;n3q%OxAUoO|5^2U zUs16^AJ1&g{)X-o)Il_TS>C^Bc$76e=$o1KdEe3jK|3fpyD?9xj|AyFSn6|wI1f0u zX=Q&WlQ|C#~p6Jx;Y*kS;T)`jL@cH*!s$QziCWr@BdGoZBE| zM+9xb+^q=bNUsXwx!ZQjt==-SK-$K@ zu*G9#{8wJGN;Rl^Mp<&Q>SfRf>>hMeIR;I^enB@iRM1w>?_Ki=pE;9%2VHlhU!0wy zibQr${X&qvtFk}couHXjd<8U%ji$qOU3QuY<&cYaIq)Wd{5#}o!Y)Uqx=%DuD&AGe zQqLL0`zTrJD}#8C1zT>$AMdJUscst?o>aW6(p~j5h<8b!&7i*w+n+aG-Dc4H&i~Gvp?+o%*UBvQs6kCV zU&@=UJU`$(X!}{B`UvWf8Y@w=4SEJ`Vvc&wpxrZH%bTM-m$1JM`odL~T&mg)`Xv3W zyfXEuLEhr*6gGOTHs!)5kXn)+!D%8^k^)J38yFwi`h-+-F+P+n5a*y*Wl4Z~i zS~2ULyt7rALBE^zx4cTVO^~j!1?n0>2Z`HRO()qxwOeF|Jlt36)bA2B>(pxrq13C- zH1ZVZexA2j{Yy}XXJPKwKpt6y=@z*}H3`!F=p1#>$T)xJsIqOG2i+piQ9A|ceza6g zxq@W}iSu`!Iw(lD&*iG`54DVY&iU$NK^>Ga+D#4W^6f0^phYvS{05bNB_nO2SE#{) zbV;mGvjpjstyJd=(mi~oYL96u-0wJ|5k1?tTYjTDWe}C&HksOfm5wh9ZLmqbBWNq# zl|LG2#nmihQoP#)g+N!Py4$M&DpHV z4ElBU(46n7b%J)#u$*>vv1&K6_j``AzOP<4=+VjZ^08BU9jA=XWtQasKs{v89kYG; zTh!p|S+uU2(2v_F4`S|NyQC6j)nZi%4|_ciKaL5DoQ?{`i5wd$ZoG_?0kK+c;v%tJt# zbe)=Q&{;h)>3Y>JNRN~^sN+Vq0ViuWs;>ocd4vq$ZWp}W(6qV5#bf%E3) z^Y2u@jiEo~-=$tR$PL+EwO}X5pj+}URFg(@JnvZkFVstduBU(GeVG4%dMk!L%YRUP z97D(QA5m*=jfe7>x>ykB-Hp3mJ2ayEVQn5$cNw$?seVkoZqQYkne@2&+@QZfwqJQ} z<1n|4wmhp?-%dMe_9PU=(6mT zf~VE925rsDR)rhZel7$_(0> zF}C1O>gkx~^nzE^%P};+;C1!%PdQAzBXLZ<7DEg2j;XH&ZS_nnI6-f#>^oWWkmB*- zZS{^pY;E3FYktPEt+1wyekMrIF5XtZ6r`=q+nubVVOW%jO?{ZzJh^z$Y}1&K0%+U{en6?_u%~dGxd~_9W7o)pR0E? zqEp4ug3ndY`*i*+Zx8i_TBZ^DUoX6F@&iF9lR2GVt1AR`csQM3t80vm)A^0MMf;O< zexvpn8JEky)L!F{%jI9{VL``|GqG#?t@^F;H+|}b1>dS?jOP5Qmjb<{W$67o3dqX5 zU#D|Sza0h2%GU_#?4c~{7C|SIJ=O`_!~C&98CE9HUX3unK9%CK{=9-iIjKq~f1R9U zJ!E8m88$xE6Vq(!S%H_W^xE*G;!!)r%6@?T?Vww629|1V64Zfnh!gnQ-Lo2b3J`mm z^|2ssbv;y?HQ+(^$0(CBtobptqaf325_D1}=e_L7vK}>P{@B+%_=v(o>`%*jT9pQ| zte2H&C;C_yh>T-+CAW{&rZuG`aF^5|E{VR@b`uJhL_h2Dhjk2G5(BIk4C0c=wkAKK zWt{h1tH~fPmptpRpbiSU-IQ+~HRwR`jRpDE=wGrw-Ny!6j|#emmJPVQU|_5~c?LMB zQyvCeAB!gEVNbzetNBq5Wvgev_&HqZ+B|8HuuE zbCyB#fRT+ZdJ~#GALCGtsqIA($g%}-9u!cqk#X!Jtf)a8`v_~|SPKLlOCCDs zy@C;)Vvox>_7T=OT2uXQ+%;Jvti1+t>?5p)1nJmEST7qH$3D_Z-LKQhv5&Nl3etHW zY5h~nB=(V=Vvox>_K}wJS2`4qeWZ1cK^*%?YlR>k`$((Z$T;><)}sb-?4ztTzmDg9 zl(j|BvE+|Smat|*$&a%5lNBi4WR885wNoQ?-M9eIaf3MaQPu~7IQCa^M_FHMgne(k z<7I9BjgIdsL5V$QwDqybF2VObJ}wyDsYMoAgAcGjEi1GZ3E~*OC>R%O$(x+t78F@w zkzw~I=Wy0|>o$#&SC_d5POyGzP)k`V(7l2{liR(*;`c{h>CQB%fa#WWerJ$54(idbGpDok zHYZD;n`!GOx*g;ezj5hzb2t_qqmmeH_nsllUz@=x=`Jb!cO3W~#QI0GS^vdc{_?_> ziJZb&vzU%YI68cMuddiE%2WwtCxU<_qXJs)*^Ao8q?f-;cUCbfOn-Qm`24gYWv2Yp`kMS1`>$ zsw|U|B;mwUV)I7|U#I6#8vD9OLQ9sqc&rz5PD$Q&rD&eL;fU%-ApZ7Iw0=W(ynDSDTj4(B)?I~Z=zeLGvCEJUH$6% zy}mz7bzkU8KSk@Z+fp6UY|#SA?`|izH(f8xN1BV6u8_D6A>|egOl3}Dyw#(aqp1#A z(?e(>_=O`kOEssYC%ZMZH8b(?ne#Z=Uwq69oVC(!JLOSoR`)*L6LtCgJi(^vSc=g8E!?c;@Z)yRqLb2R;~ZUL zHosjgNn-g2Cd5lJk>Az*pIFYWb~VwL&P!s9TL0hqa!_D8_qff|IH&Q@I`g&lPHanw zvFN<$Sn9`eel6)2Hze5nc*uBLLHLOwB)Yqn%)d*&9h%nBDb%A$V!dnkzYmA|Cf?rx zwa2f-ROt}@Jtwgo{(W4D<=G@{GBM;NvE-BTI6Zna)FJE9R*#!po(>sjom4JkC0j_O zyny)}n%$Rm2s%CgNvi5$fwjH0I)$UlR$DVoxsSlY%lO3>)gnEjCA$As#C+W=wat8B z82d_eYfC#5ea#{*)%kr5t;nLQ@>ySppzU^!*ivl+yS5gcPS)3c9e8VlL*V(3rna5@ z|Ko6a^lVB=+ALz*>oB%AQL59xHpD^q&dAJk(&|DUYgS8oY-whu<1|j9KBu`w@~bUg zqWkHQoDyyGwVh1CxNp&o!`YYSq>3dBiY3(UzshLRRjNmmIVd*=oxuFWDP`_5b($#U zlsh}|nd2}VwkL`>9DDZ5t-?tuGInVGS!gW|315ffGSWn=tLrhbexH|-h$+5&BE3d) z#vyz~n*Z0n>^_{yI@+r9Jk}zf3D_e@Vwl>^>9?i2Jaz5tkUq#|WtllcSHGIWvwcNP zGKT6Hb?een&AClVzH1-U9BmV-B*w%L*sZ8h!p{(@=jYnpm6IfC(D6PmDgUl`b&NW8 zJyX(ozq*)X)Ye9?O%ii$$(+0^)$<4Ti?LX2NTOS}`OAb~Bt2S($$WfM3w=b<#WLpR zVRqr5ei)CObYp={V4oo! zJ4e`sr!3lsudFH$1kAmJ9%E#ZY@K*gF)L4AuWi0p;@wJPIcuvFbF-*sA^b~_%3_ODd zJAAYuDgy-i1_zck1s^i}1G??sMSxTzu8xTw18kMJb#M{d1{G z;kG%x;JgsebUZuoSA{$0-SNv^3-L_HvjcxsYB|3AupGSQ_`1My@Roz;BW10mWc+1W z$@C<4NwPrQ_^!Z{_}a(_&`iY4bgIx2p_QTGf z6#o=8_-TG7+QDrp!$9k1KLF0Y-jBllMqlQKCjXj_IDemV5d5}TFM#u-lt01k9P$_N zqy1R(rM@TVRp)&@-=$;D2YY=)pMZXj_tWp|!KbZwN$-d9tAzs_ae2>Rn-Ift`WuU z;_Fh-!ipb)ewMOB1zdMz+=7%}*Y6I{?fvgWT$jzeM`FxGOTMoBH{kafcY+Q(@0#%j ze2vIFuKKA5dwl@@HOTK_=Z8~Isr9Ztrz~4OGRF$70;R z&a(pQ0lcrU(6zt&D2r1#-Rh9EdDS(DmvdJM{&SNW5JE~$lh6P-4}(+WTA6*R)u#B? zRi%WsOh~!>2mkJ(`>lFuC)?EC;@`r}EiG9z4?E9GeFi#Q7dJ`mRMKMw zZzGlmiceYVU3{bee&SpHT(g<9-qn~o!NIZMt33#RmgBJV^X!2r?IxUB9Z@}|*MSbi znK*~A)Un&Os9%F)nS{SgQn-))nSTQPlvCIwaoy#bU)bPihWm$(yIfDqU^h#f>Coic z;C`~;7ocPMJp#&i#KA%A$C_oGfeI*k>KenqKiDDBtl$&(C_x z5pb-;c|gFi8E+wZ)%t;4r|qCosngAda#?MWvf3i0w4J(FJmT0cX^TopUMo_3*#Mzk zD>{c=?A|PC-YhxVi4-c@DeqS9ls6#v2xpIQyhvvzz6HW@JtUz$B;f?qwC=Y#eL9_L z&*VMM0P)$!5h?iq?dh=>96s@gN=a@9{e>f-Mohln`KpWc7h0_Us*7{F&|=LJYe>H% z&ZU-r{GXir5##&LgA(IGiE*j*N{@dzk4gHy*0f0(t~N>AyRO_G+`|8c^S6aAep{E@ z$z0GQQ@90MXot@sv;e&ljdmZVZsjGQ zEBaTsi(JEcR6F+3w-c7Rlih5A4_kbK{)vR}iS|*K+7{jURJznvc*Q2VR_XgnplPNm7C1$)atbtUm(o ztKqIGyCEr{{?hXV6@i2C4s<8<9~t;#g!Ad-dy^^^xA`OVQ27%{{UF6?;(Dy~g(S8` zFN2ef_v-pNCiPex!uA zh)xsS_gmY=z0|>{VoM!-;Ej)55ylW`}kcp4~Muu8@D z>KJXq4ey1nvj!EbJyM=~;P)4fHV5DC-XofOB%HmtoBfF6A>}SZPm!8^Nd2f7`r1mnStV|s0~`_l5w&#q4c)x%d;4aS*WIfeJ&qP6-3rd8tW5H% z75)DuBgGxy+&Uc`clxBCcU$OwvY-dXl!FHmC4*P(_;U3jE)=Pf7Wl63*9> zJE!zlNjn^TSAMYQk47v3d})Vc zIqdL^xIXo;c5{clZO@18q+PwFSAg`cPHqsB3ZKyRGzYHG5Z`#$D!>2IdC zxgQw#erl1c1U79qa?Q4@CG`XqOJ2%^7F*Bu&9jOv_SGTf=|$O=rIkq<$|R?ik_NAX z?_*R-9uY!cPSuxXYty`rA%jN4J!$-UapOyi67n|pfEmk^c1V~vxt}YzJ?)6&n|?PW z?RNLb|7qI&?g+lna6f*s4&O_Vnp!G7-6^HF&HDSqlWEHk`}@u&iTzavTfA2tn`S%G znnG`6#|WMgA+~YkIyM{81-3!BV(cK52d55Huv!I_fsp0EyiKzkU>K;4m)dljt9LQ zBlTu!Gh3v@wu}2(alh-HmbW+Kh+~a&8LfAwPHC`sCjW58yY9jnk7eBD+Lhmcnb@8g z2Qt2NSM@lOvCq9d;|;jS^gELAfy{+e(hm#2&e(x7NN45;lD4cQZc*EucVuLMv#oes z=1#;|mbph_+#_{#zq~z)aTykJJxVo`j=6>u&!_d)=h^Gi4l9hO?!)TCSuL6S5DTw9 zWL&eJ>C+JqL6sPvq%pJ~1|2@#DnZJ$cwJ*OOVw$tTAJPCf_Da`O3a zmXptYvz&b1o8{zl-gN9Wya(zbM~`$$rT(D!VjyTwS^(OY8bPyZ6KFnN1v;4af)1zO zfR3hDK*!OSpcAQE&vcqX!$6DiMZThs+ ztiQwE*JAx_i}mv{6NE2|LmO_r3Y{jae{XyN(HhX-L))!Uy*+fbH4e1W!M4b(-RZEOo)7IvN6c9)8`t5MLtf3%XXM5n2QHMf9T~ zrMQjIV_3Vya*5DgLJtT%DilAMjx^*8oh|f$^+Rxu3RMnvH##1q>|swh*?ml?a%yg;Emh zy<2EUH`duL^a-JF3oT7yexuM!g#K9Q+d@?;OC3V;HPiVW)4xzh*?#^OgPY69GRCQ-gfzT46KA{JM9u-PGBrc)(LT3wI zq4_-}1feC`-Ag#VnYIhvCG>#Mqe7p+O9Y5FdzAWO=+SI;Qx4O7p|gcPA=H=4{0^bJ zg+3wlm{64`;Rr1e>Jz#;{fnm%)DwKwcj?e<3 zG(tE+XA4~+v|Z>fp$CK>6-pyTUnmudTWI@OcJC5;KYT`&CZPwldlGXFOlIj(p~t5%r+un~Go9P&3Zd;ncNH`LfY9SJS(8eoCkmY{bZ{B- zXO~TYZ9H1W`c%$zSB3Z$dQ>RQWlp}(*+N$cZ5Mh}D9sbULJtT%DwMq9SLke^?Lv2H z{(P3s7TR7ZAqbtlfZZ#EwhP@Q^uPiKr&j3fYId&>+AegL&;vq`3WZ5#9ii<)cL_Zp z^r%o;$U6B#+lB5DdO+w=p;Rk6LT3xzCG>#Mqe7`pbcD9oOJ0QDL(kH;c>8RQdP+U3 zUQ`Y%-5OvGvBp^?R=HJct;a8|-Ddu( z&mH?6?>Lg3Bb{YVpL478mrkdvk87xFz3Up+*RDS93GTDq3*C+GkozL{o$goMAGtG= z<|j2JJ)Lwi>4T(Ck{q6N&v?%XPiAuOzd(u_SBPi1_Z(I@kq%nh0EW`3Iab*ADUv(EBn)nzTsT9vgeYhTtYSyiNn@TInL z?9Jo*Y&acB$0j_&Uu}e3Rx}tliGT*tm@RI8Rs&6u@_6ET#?p7E#`%|x2!hivAq?7k9!u-< zH-cU<{(GPoWOA5yPq+lsQNZbZwcx)%e=8yXY5?o^N@bk~Dy{`xl65oaZQXZ)zCQh@ zpv_b72c0r~Kj=$k9OlyECqR9ZI1TSl{BKa_xMoha45{ygP= zXf{vHhjfI+zJ>_Z?h)fhfxmqGB+yXFEYQOx98T|&@-w=R&ptcG|6W-Q+@DWe4Em3p zWrIApZOq@l9S&;YG|U0o8|Q)weZ>X$F!Uk|eIprk6s3TUrZmvW_{jp!1Llg`PGHZXfz6-T?%)(4R(uZbVPDs2zP(;k0fn+&@5nRhV(&D~GfNvsQ&K z-AsUcJ52(;2C262X3SLZZve&VKhmr4J?QCh-;DGs{QATUxOXDG7VSYwE&2)4XwgrR zIt#ngb3yMxiY$5vy2rPiYmz}HNeiU{9_Z(maEP4zxWD6&qi$H%3%V6QF z+e<}j}}%Yji7^+AN;|fxM!tSgN{=HaEd^2 z_e`yYdjcp*Tdjk87N~{QO9<`~P?V%v4>!&);GVA{aGwooQKf2yy9yMy3e`rqt3fTQ zQEhN91huGET?D#PeGjxzeIK+1uM{i1Ti5~jW_1bN-vh<(*{Mt6{yr$`MO_Bkp|*kZ z15lJIzUFPw?dre4*#(Mn!}oqrZlEY1wFC6`>Kf4J)pejJ)D4iH1hwb`brWc+bqi>k zbt`DTbvx)JYd3TzgQ87ZKZbh>s6|t)pTIp0)S~Iuop2X}qD@+NfzGn-24^-XS|h$a zgSKbg3r+=}0_4%L{oozh~T50_foGMVnYGntp5hR)H)2h-Fg=EO6zx^*ICbl-e4U8 z-DAB3zdr%B=uYbopm$q;!bo=x`bauPm|^H`Q`9K*t&4Gujvl_C$Iq}Ux z`q()M^px`~(9fJxLBDWL2mPmW2I$w$S!jvmn!xSRH3`)1Dh2hprh;~JO$SYNm4l|c zW?>}j4o#ddLvtDRh2}Eq56xwi4b5eg3(aMe56$H?7@EszC^VPTNY`A@(a>B@h0t71 z<6K_Q@z7jAE2s^<_lI;1TEjKg_15E7lOy8jaD48-Z>>4=oztE3olBh?oEJOaa{j|v z-Vm6DdyE9I;dU&@UsyHkFiaxkSebxZ1hr4C6eOglTR zJ?)dUf2L)p&rJ7ctjlQ4_+CbFW=-Z(nf(cE78~C*M@{FT4s%dDIVkrW%uohnhB6jqKM~fo9JbZR>abuFB+kd= ziEq&we3jDt9p<^nIl(!}`ltI!^{so7Y-lK&!02?H@nQo(%Qr>+ z!AKw!tn-IA1RDKg=K7;C-hxn*KQglkaTHO>g0hC{8ho^Tp**T<<3!d>Tl(zw=~q;>~D-BAqhIsP?%9=AQHuM6@Iqf7hQvpXP(v2 zurcgwDWYf*ZD7W_hK7nj(AV7DRzy{S#&9SSS`{r^5(wgF?7hJ#s80WQo&ND8>4&T= zAd&jQZ7aspD*WC$Vi-^O<%tcpmkC;T0@a5WA*jii^-57p)clE^Ga4_l$%N7`iJUWK zGI`heR{LxH>ste1zc5z&qYaDdE2dC!Rj8@8**}wtYr=sIzNp{3uBF+(&L52WxGc*2 zQD2}rGLz<(68pgqOGWgfrr8%=6$-BdhXq{Aa8_2Alr>b9*VUEGEvLHj`g-qzxpfT{ z-pX>SsjZ%0URvK!x5!&x-cY}^rkqNv7u45QS5}tSYP`T7Ev=yP>I$kVIj5nfq<$XN zwMC--b%jg(D+?ESX~Cie-ug=RUr}39RlcOU_H4~dz#LgaNqv2-cg`XxE~u`pDygK( znv&Y`1yrjaY9eyMGI_PTD@pN zy$wv_yw!xjs%vOLbyZ1y={)VM=LhoAP&%)qmdeU2N)}btH!SfkD63vl*HBfxpt_;V zTPr!`B-c?{^`bdQI;%I-Ev=eUU0G*px{hkgD-m3sZaj6m;_C?cFKd`nTV8Uu_^P8h zi@b=#yP%hk$5Cq@ab`Mm>T63%QKD7#RPU`aj`BLYrphbJtI8KZ#w_-1 zGs?>6ESlTEUaA+>Bkx?!F?d=nAg8GN>e{8W!PngCZ)hODk4jovn%kslmieMSX-1`M ze8Hf0)LlRJzF1S*mjJegY=3au?!1FzK345v>!TZ7FZp9zx|38)V0&~&M_hQlZi z!--1V_y`q3sr9o@L5AQFh;*|5PlOv6a5 z>$(jS_?y8qCDc`r5P4VO8B)?!>FhwTsVlc499p*|(A-q& z3!g!XHhKZZL=%2j-`pomtLZ9)=T!lWEL}2L-`3(^;9GYFiJ4=ZS%^Lu4V=lBH^S+F zIEaGm8eI(r)UMnLB<;+Sl1RkAZe?@ZnWZKb6=7sxBP>MMkfjG;CQu*tHTo<48~n{( zbvVIgp>@7Mu&XQ<^kRRQ=S5vL*nEAbu(Ub+ow722q%j<5;Rf0@R8z~^fQ7rtxz$Fx zvTOaYw`UUAt+K0^*!1oU!PSJ$z~uQCo9;7+>M&1fJp;eiA8Bolc8!}Y%Xi5Z_&1%w zNBtSOCU>PF*t;|N;yS7c`&R`vbxniaT>aq+Un8cNZCzD(@F~M&?aX2foc>@_=^Aug zF<}*fa0Fwe4d=A7t2$VPK?+8`Jjmk!#*YxYv|sVYCP56dIO;=d{Xuc9W&T`$w8|e{ z6EZO**a`8HXgFw9qI7O6Yzccu9uOT5)Vht3n08~f%g}i^Sy)pv`pFwvvId5`u7!aZ z-6-s$^dO!+`@?pBBCjcU9?NWJ+&ESSR{7aT*ph~@HX1hep5A?9f>@ihISr`RP74#_ z^^Ps|avj2kAZamH879zih&&_bY-S?1Mx8$z5K{j2<#MS#l&I*zJf4gKLbMx!=*nEpc> z@z3)`)|6tYMx0$NDEw54=}**u&bnq^j$p}Um!&}X=*(znlA;qKhIe#a?QLC4D6E}9 z4u-3|b)^|_C=z#ar?%O8#$zKrS+Y^Qq1YTfr7 zp+(QG@KsPY@r$?j<~1J-!jTYPQI zD^s3TX?~=9lfSVwDxfUX%2AlE#EoShriI{eF#xe?FdPnli7$W#A`0aj&?ORZ!^XHw zC#4Sk10gL62kIKvU>V8{io=DST@}DA2?%AwdE;0F*UAL66N~Fd`)JkEF;Q#)Tl$|M zQ}hTe5R7Q~rbx4NSX#p6sQZ#gqPnwd(*%#JI31>I#@yTp7onHg@)o1#jVumft;}Ak z(6R$qUh6i1rlA+#0=Wx{gJTrH5ySw>Am-*MW9s&7O41Vp-bh0Ah;G!(x>%1(L72@U z{gg#my$@|E8k>H^VyI|sZWgf0cAyFR)(MN#$ji7uqfC3XpKz$PMO;XtIl71Su%)iQq@=N3*xebXXOqX9cfWfi3%}zmV7!^iCkjuG&vm!36A^r6j zF^HR@I5<#~0!f_h4(p)=V^#!{dg5kW9Yi<4$Xbb=EQuT4a~+zxU};1#38wwxhQ>

ufuh0qkpeq|w)+Bj?IT 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%0AcU?2z8Wn!0`G7QmJ$b)e=z*=q3_P z00^Dnk2v~u#~VSLG%y;+_-E$* zqfw+>Htz zcGtukP>60=2Yis`L?doI17s#k*P5gQ79$nZ!hk4x1KExkA z@{lII@dW0*9Eyg8jpczx(5?R9#c3D4ijF$MNZm~|SA3%)g8C$dmwQ@jzyp5N*D zTh}H1J^-*){iPL* zXf+7nPm{}zGSN;cn(_SE7IM?9=NCMmdKP`owqgeUg8VHd3o!(m3e+R6u)$Fv6WSfh zx9Fq3x7;B4#p^^hKFKOj;h1qm(l2PI1zwWNP0)U5(~42Z)BZb(8~>dRR;&Ze49gYj z2+feBxuDK?54KB7)=L8-gY2w%p8q6m#My?dW44%BGn4p0E!-lKu{9 z;Vp=|5pi80d0>p>ihkt^F_!DQxMDhJm&iKMUoOO;8L${gai_Z}-t74=LpS-acr)O# zFM0l}p8wUP|2mN8%@8yGD~boXB$veurzER*xy3}i8ENdlELODiB)A0N$W;*MzaA&r zF$NTn*rgP7Mbx4F03bkh)P=T(v2&9UW6Hi8%+Ol^#q@@@tU(K@J;}n*sKm?iI+`W_ zJk8Q@d<}ph*2!U)0#O?CazW~{=U>*o{fnM|F<{zDs7jWHDS~pc+$bEX;z?E&IYuJr zI;?eBc@{m}TFfCi{EJMG&Pb>}g5h)k>?MMn^T5QHU=+NwmJLu7e?oX^3)*QXoX$m| zB1{9)!yDoW5N$#FcSC&9D6VkEyWl+BBV#=j-Pr(^kmp<(=<13Z9Tv$#`Bgya`B#Kr z-&MAK%Ylaj|3t(iB@M5wp*0tK4)yIq>y5bHh~AH|M)AT>JPGY_!HopkX@NIDGE{%k zzm7kPS0EcgUq&TJEe8X6H}TWIPHWu&rfo?>2rw03q<9s2AD@cb;#DM@QSuJ_8zcji z7q8O9r;?C4A%Rq*N`tb4#kAdA_ zF=LW&*uHT22zT>zd)u%KN3M^0Awx+K0B_NIWI@l239n;Io>3Y zQY(2IwOdRazO0ucrZxiWtlvUUDNrA6pwLQZDBBuORP~O2*x^cdP|4`zJWOQZ4*&`@ z6n1?Bq5z2jkw8v(gzI59i~lWIX!ee`Y6r#hXv@g~C&lx^!Ey^x)_mZycph4;Invk+ zR)lvB_ZXCiX(o@9mW13zkeimK_%!{>46adKb-~j4JoqDJQN&pkuj4NQeHrnV_u~Sy`1m@@y8c+1 zP>W-xsuLnkDW@DFBkBL8{OwO!O^RF2h1MU5ppMA?{s!YD)+R7700Fl2w_&|ulN;lW z(1gL=kU}X=kgYL9c}5c=-QSiDtVrl3(P4rwCI8Lv=8$xg%X#&-wz;jDnDsxB%UFNW z@W&I>pQG+ITbWv0g&nH82WR41uMT^&E?+ov}KK0vVAw zc$}*NH=amGk{^+nRzo36>);iHGX6+VuJ6jA{xir=ikD;&q zTj-3%G4axV56&|BUp|NBu`DoU~3+rH6z0%{J{{r3Wpz9O~0mcv?u(T6Az>Ly^ z+kxSa(nRb4=b{dR2a%@4ijF?%om6!T^CP|LJ(QH>gJyDl*U@t5vXkf*t2=rb;yj$h zGFb0NY}P4sg%wh}i8LmFt0rB)q7*>^e^@Mu6pOHmOT&-|7ExFeHsb>g)YBP`HsX%+ zkwP$n1HUo@^fY-TS?`tBVOl`JrgSEbPp_2rN?X0sHXv{iyyQ#NC76X~@U-{V4IR`;L7s`5&9_NyG<#^!4_xKRQx; z&D>>7tZ2*^jWLZ8eBl1E!=pJ9GseMh?#KUp{?b<-`s>*(|Kj*t|L%Cyd|k?a3{_{Hf3X;bp%`TLAUbZr#1HiEm>hJ5VmMs8{cyC=iRs1aK3J$R6kYnQM-et`{5Qfm3vXT z8wdofe){e%?tWz7akGgD86msLM-j@a3UH*WehGaF+d<66h53^>J`WYJjAA3*tH?&%6a44Xi>lXLBnj=^*FkD|F0u}ghBQkeo*jYaGy+!nYde1{+&s& zjmW&42jz5Mu?HLS)u$HhgI8;bXzozhlfkhpz8E9+!(WY=*jf%y-t9v{&suT{`Y?#@%rH*4|_ypwX+CY!p;ABhXcH@*q#kI^mn}-i|J-{}GKC8k9L4Q9wlMr4ZZb@);YWcV?{Xrk zNMjSPJCIWvYgO0+?^l4JUm7I5lWdmehipDwN1ubZEB+oozK4$z(OkkF0u~}zD8b9- zk^`#60FSKYtiz2qv&=VVC z<#ry6e@7x>O;{pGf_p_Mxq$TpFR+B%oWj1r2<#Oo3Mk2bV{a(Zc3w`W^0i-IxxOuu0R3jyUY2w7vP>?l(5WK{I;j)@YzZc^!VI~HfxiVx41!%06NL1< z;wz!ZAp0CKa@;#E1Y7_nfJ{UX@QE^ZM1BX~6Lv`0b>b6Yt8k9zK~Y9G-y#re2up_! z5D`I}g+yEt*#j$GaSfvuRMUt+b-GOkRFV`Bh2=N)tfT_^lE6{fEq2flYcfFrR>wg< z++maI+|!5viB1H4K_bE5ti2XWiWiArNH%zcEQJbCI#30;B3xt`4nk-JN>xU=fkZRZ z8Z(jPEJvJf_=nu4k zxsvHYh9S>s9R%?TKP?%@HtL9L2U`UDB72&Kx37v%GssGeZ;aeP3J?SQtz-98k8JW}OK(+=tdVDxC? z4pl{{;X5qE?lnJ?%~D0wPnb-jr?ktS{Bwz*4_AxPS@CraG{uiBKNePo>EP`QKSsjZ z=K+00275>Q0>uDrN^1yZv;#r7jK-*sv`EY6FnYvZ5V|c1?4@;*Zb~@dJN|586l6TI z{)xprUlu#|{A6LCudBohit)-g2lcpk!-~x@ad~@2rU$2r9IV$K$GeX+GiNgS3|{L# zRhZ2$K9iZ7&S?JOx#_ddu ztN-fh>Nk~lWKJ((K3#>=cq?$BD?dNekqKT3xu=KYb!9s;d-1}vrNzRY(}g8W`BX>d z(9#6n$bt8@$cwl4bociRPEKX}`g7TV-rm9l5bL(=E9iTnfzvL1(?|wy(+kja7Vkef zlUX{0m!)Lz($>t8?##4(*JM}HF>4faIz62HbIdOSBhSv@Eyck5BwlnjcRDk}x4z?@ zy#?v`6kZ#L?m9As=jTu1Exza(uZhXZ*gY^cneCg(7xMiR{nHau-G#ya z!QNbUYG|TR=)-8;c|biiHPt`VJyn<-oX+=VdnfX}eM7mzVDCVFaB{k*Z>rFpo9v$I z8R+hrm>irM80gFQ_fPZ<^+HT0hWZEkdIko%ho%eN`QBdS1E{IKfjqt^>LYMQ9zRpa zti0|9v^{ec?-RoQxnssC0;b6^vHfQYvrPZ1r@r(b{``)2zx*p-_=WgM^R@NgSXc7C z_fNj_+W-F6WB2{$Q@=Z$ZR-5XR}cThy!_+;mH+PV-}d!)_CK}ex1T?HY{R|n|K|8( zdtUsv@yFNv`TCk*LLzrUa2NhkkTD*I%dbeb`WLV zcle3y!p9p<{O-e7e!KB2KfL}EOb-uW-ShOB#mT3ImGrZ767SiB#7n;Lr}Dd&1|s?N z+{7O=p0Sv_Np?VVfPhj&%ueNko>uf|*~ z6uPEP;dwOt{LMD>!2sBYKYy3lvZQ2q2A4{!58F`tttf0BT6;(_f&i7KfhqwR^a865vTEJ z+Cf|iJAcYsR=-h&<@cLbw72+ScQUxQ#P1L$#e;9St&^9*7d!9^ z9Wr>@HfwT#DuY^lm`1-!j}+tg;qsA#0-oc|fVbzs8TM-v^lJ?`{;vtBv=^(h+i4LOqs`@`Dyf&23M_2~7Bg1bk8d6K(1drLpwDdlekhe|i)Y<{5# zAK?h8PzgI+X*|J9I#<@Orgk;02c=E*j!gyNru7F^{y7t|*;`@D`bEZYt|L^~K-{0r+j^?>fJI{GeulF)> z#u{M=A#C{j#;?Z_9arkpmft#W}CJJp(XR^{wj z^XJDFR-Qb!(mH2;<-GZoVM$XW)C{pE`?Trt*!GEPk)id4 z6Pge|N$&iUfL8)<#gn`vT$g?WWB=(XI>E&M^fN@ur9yc5|KwAVQbm-(?qtGYclmdU znfhqeg$MNeGc{3`%Kty%l|ndEbey2arO?rZbI)H0df^C_t`hCDZSNzB~UD(BfF8K7e5X3!3 z6DG<2Z+;beASi@8c#7T@!n30qMWYA8Ky{;|4~XDUy`7kbEtW%y{UsU8O(pV(7^oCu zkyKGMP1HzK(jw|iO1OTh;rbKd_5}}D@il>7)g<7;?^xWLPMj1#N?%w8%&i#E=_i z{|sw5Ne7cORfvo;i<-tG0A+uS@}vJSr4WEDHWt7dkFc>JkSPh;sTmlWPPZKb=Az)0 zNMb3lREv$7@j@GhFv0wk6e3WfwA_(8l;Rx*J z+UE|}m@#xj?r@nILq&8)^3B);JYPPU(n*R3wUFkEc#5TAa&7;8HzoQ@-Adr-6Jea2tiwGC~(Ym-4~m^tVSHPJc(VIyA{Fi2AHqh*0nCsH1S2J2ciT zX!7326DKJ~$4i!VYz!r}tR}UOV9+MEpG8{TPKk^*PyZ;((aH(#@&>xsa zehi%vJBvh_$vN3t}^XOI=h?4#O%ZfGss7H#QTD;Cg-W129_~DXd$3 zKahjwT^RS<(0tvsog|@#X9gGP)*GxDd-;Jq6G<2h2DmYF@rSbJc;zVs6NEdl#sxJSUsMF8QfEQ zbU9p}ji3=DKa`>9R?wM7tPYPnTj*Hyzi7hlJiA#-JhO0Go|$8^p&Yw)4e}^pK_0gG zQ1FgOrqgBS*r{Qfbs?XgV>e@HftbFf@L>`q{+%fdwy-k(T@1v(Rw?zawFD;0B9%+$xRFtHZyh(Q0pE9j-3lEb{@ddNF1{tO=m0a z)&!T#gvToO&UAL)thn){J{!-9TTcdHej&|~o#IiXDFbPe=?$Z~+5+g>%tF+ST#>8g z>bXV$eWD!b904lk@HA9fD&IVt&2$9L2gcnr#$V1mJfaAZXV0;RT{-r`>4gK!Le(;p z9Ws--jAZVHoVqI+r^6ON?`eiHhUsRZ8WkN*SKtD~vMI0#&=x>H${Hw`Jk-yBAPpWW zm+%Ccj94={?1=|AHidGrWI|;zS>lVe!;Bj>Egv0;M>^(Y$7DB#9_)bR#*jCvF7OH= znx*Ve0t=fmB_$K0s!{JC{YL5S)V*7;p~OBxglqq7?oy$Gvq4p zo&NI1Ji}kw-$`Vt`PA5xWFW79`oeOep%9&chOja?C;FqDcd^$@vyIg)r`g z?V*Ys_7&OT3OfxnQ?hL!FP7k0m2sXnvxw<<7KA^ z-7Wi69i!k=+o+4A`sxr}8t)e&o+dcqHhnamFf$zH>UmA5A2f(leik+r8Fp(sRh`+8 z8+OyTp0SV*{1<=CH_=L^sn7^$Y{2R<9x`q+>fkXYWS3P^*>y;}$?)V#|0iX4RTxE2 zK+U?Sg{rM$HWeCn)qdZJ*F_bXV$)0=O^lkbO=dnON~Y`;sUfqrjXR#OOFmae9M*fV z7II43x875jiH4_QazgF*&AAGvWh$lqJAduzhiRS`1{a0wnEiV-Ltj0wF3aZ*uCo1)7~fi;;a4j>zHsK1Gn8->w4>rj^#j-bgnb9yP=h)$q9|EBvYY&rtWY$)KZIC zuwLfy^`}K?Mkp87vrOfdjGati5l_WB@<>{4#V!LH9N|CMb|0pSwR*?nsO6Xg23CRZ zJE)<|b%7y5zq`o>`$0w0MBfY(Cxc@(`@i8Rh`LmN z*`%96N098oJ~D=XYKs$7XPZJtGP)YEb+iy#&@oy*4wa9?Sbhb`;Uq#aijgI507EAh zR!}o(Av6j(+6F_|$TMO;P>V#ap_lFkw1u5mk6;;S*2Vpbu~#Trx%K+LCaGUqx7y;vuID-)|u#+M+7y*O4qumqAGI~;e(Gz7Y6&XRvV#a9ZA2ditnMvEV z^zAZ;4CKBzFvPX={)Xs8QaN8a<1dIuB z1|wh`5oa(0#*uLbBS;jgaXe8I<1$7dL-mQvCdFlpjMm#HgHanX>lR~Yf$BXoRPJCo zCsWJ_3|*rPy{oqmg)EFsIdls;LQ&<5twF_#6iC9tj>LktpAjIo7Hr9+%%!?XPpX*M z@omRwV2fnxu^XVO7j_V-2i8-#D-n)L#6%mkiPKRR^U(&4z*XRfOQn)^IikTV5|Agu zyml#c+rxGC)!}NN+m6mDl<%OuGNUwbH94reg4`Y*G@&&kh04&|Fo9`4+>#qJ1{wj) zQ&5be0P$k4NXA_LJ28jKg+aN5{e?WN)F~O(5GQ79Q^2F$1`HBjYE%K?>L>E5LH0Ky zdVbIdtb+!`=nw4TZ#wB9XRQ|y*m@H{KWJ`-wYF=a#_Q}l-MY*L;Y|P#-qKq*#SP)f z01)2VTbP{zVIKepZ|f~Qj)bR5;qASJ&y(;CDMY8A?$B@#gp&ba_RikI#hDPU1Ay?Z z-a<^37g%lp2=DGKJcWdo6mID)9GMN_@c;;UPjBHamM-rHN)=!I}307Bl^TlhK& zKa#>f_7=KwAuI(z$oqQ>k0aq+DSV)}up$q_(EtefU~l1*B-|y15A_z#%ZIQX03jdl zEvzhna3}zTkMtI9A>lSD#L70k$Z~xURsta8W4(nZkt^64gu&SXyBF_WvWwuJoc>Z* z5EPEKjd*%OeVsAryJOt|nJ(^OB4sY0oCNiWVtJJC%*DHV&e+XR4L`Tn?F^evx$4+k z9PeyKrpL2a1m*tSXmQA5xdstpn3%j$6k{CKPSKItGY}*-wdcTnbVSq-EkinsWIEf^ zwGt;$!{kX6O<8G*>2dNVeQXmary!c)a?0h*^d>CmkR_&dIV^GMhH9KX7jKj2*_@cX z%SEYO541ro$A*;_dOW$CNh^|@gOkYJZxB3yyfb+wBzcbFIFE;J)+|9c@LRfN7r#^NmD2uR*Jgy7cz*j?H_QXHApAth8bVq!KH5>t$2v;t~Fz5C+M&oU6 z6huZ!o6~741zY9Z0M}tEeG<(zaP)!h$fV8VQxTx81x6O(WCU6^>86$9DMx4P27$?LT zjDRsS&R_(L6XOg^Osw13LAx zW&m>xcSREtwhL6aT4s#Zf&7*m++Ni;tfkVF9VGQXPiS1^*mLSeINkalV#`&^L(2hh z(q=>L;9HkV;fKA22g)G)0RV&2N43JHKXzw9kMqz{DS z03iITw{STLua?5EdkcReVOb4_{HC{XCHU4OQuuAUFi3M~yBLgeEave(!*bRp8kycc z2epL`KsyL=6!)uC^&l5YTn}`mGo3YzATLC5>{f>gWt3zlz&ujv>!vRj*UN~P3V(4JrMNE$8 z>8ZvUWf`@DSB38rQGW==Z5=nvUaHXC#HFo^N9EQ<54Aly`@9hR66ALqX6SCLy(m3K z>?d-MGA<)Dnm2xF5`}4%JJRG#OgIA0ST|Ulo4$S}X6#N-zJ4y#UnzG`Fy~kaR-Hp` zi$1c~?FgHW_@*e9q3*zYh)A6+6^Tiw$a%+9s|I;c>C}a2y9-*KbIDuo^k+bj+UY+{ z;c0wAhsHk|2hW63Nql_j1VQ5<^&p#Si>%d57hB!*l;hDeFe3Yz7#0+6>j8*lXM@8y z?s-T9x5ZM39TZUy6pP~#y~2hIEg4}^Y6ROUIQzdFN~!)oM-ny3cs>PxF$I4q1^-(L z{&&K80`o07yb&aiQ*nE5r0DKR!QUpF{Wt4V{BH(98FdOji>$@;lo|96g_vY@gA>?7 z#YR;@?tt+1y5LmWF?s=FIVKuBqvfr#9;$Cf#||n%>ZfO+eV5WakpmjI(6kr9tdA%x z)?_%f|J8g^r~T|-;6h=>U|dV0!|R03a5<;+I9Jar!Zu)KfX4Bmu+xS$oO_Yex1Q^0 zrpuZG5f^GC*JW7=V$|RVP;Z=tQV*v90bCCwearBXKSe^!W_TQqBQi=&1o-(3<0V=*JJM!~`zx*N%MNnIP zWQ(+E{&6a0I?X>A0pqkdgAp(=osk-h(A~H?Nfx4<`kfHj#gd>>&(#7Z?0KBwd?)W6%S>^g z8;L+kU47~QhAA)Y(YnLNcLyq{J{c1N4ur-jN&jLHrZGWn_I4v|hJo{^DIp&Ou@3S_ zGUe{>6xv)RpW5M*AGUn%(3#luJca@~{NVvL4u5sDufrdhewZC9QT#RIZ?O8y!ZS3` z;Xfo=@9>X^20}qIQg2{ae_E|qlTkDlDtrFwrVm4IIt&ZpaBVtWDxzZr?nC=uRuDW_ zT{#S3Bf;HqI*P{#xG9tG2Mssb&ssbyDb0ZlN^t-+*qvcIqHfdgY07l?Gnb_+Ufp&#ZUh(8>-?h?|Zm={SS7 z)@VsCLZvvP4EkLX_}xLjhfo6a->;3LUeOwn#+!uEOyJr0%f(*-{z4@Qql|ch{;c1! zNd@7+AJW8kqfrNV@F06${N>?~oTNmA{K$#&pg$u>PG&QV+XWjuz7I;dE%Uh=Yp*P1 zEqd3$gRmPI4g&4y3~DYkPtgVCYc-WYJ2As0MjN^&6W4V3OmJ^b@|-VzB80&hj_F9P zt4NM>zi(#=BJO2}Sctf{9b7fAmB)@Ghb20R&>4D}5yQ1W9I)E>=zF$@7_$EAd~6U4qO?~*VpR4kc+ zhhZS%QN$x4>M&m+bFoK3#8BHp9i3z&m5ZVcb#(RSqE?1FE+%d}LF;1bVcN+jnrxV{ z$6=7m#t=^<9hm9mz$(cDb;tx9M=bdkFBD4~pz!T*8aVN3wZldQAJ;+5n)Rz4gD zDMkADGq{*NoJrPhxWGrhsT(YdFW_hbg$ZkcK0wiRRuD(IR0}*qnMMUN!!Fze44{#k zxVGU46ceJ#d4|Y2BVJ!@;$)<)hU*#TG8d zFHpBlC;;E@aYz1!;SpdQ(&3gxMHY!?$EiZ`Y1r`cTIN2dVt_oH-&S>Xs{`~91R=S znq9nqw@I3D#ST&|TcIoyV2wZ=GJujj1DTvbNACP}X(3H=?<*6h=`yW4a{7d);_0@D zc3lW$E806(hwCUpauav6PQm=29K}SQn*t{9id5*olJg2n~o`EwI z`Z>nRB}^aNvcSu94Do2_%Ux2|wu0i# z&dH9g1M(ZWeMCIBkv{5pa=aF6jK!Es*n)B10`PqO%*B{SB$*3|*|$Efb27*{J_q=; zIB^;g!Nr&c+Jeq-mdl?Zqvp0P;}II9Li7`!;lhWifLxm*GX5Y+#{<_fg0@{6zenG?D3jI!P+M816U8Bf4 z8P$sYF|3t91EugeHW9$E?jjnC8Mhp1m>KUzc%C*J_Uh4o0z09ED}9&YkzvMm;Zf3b zM5U<2LD%yju+A)l#Ylf=;02JFxbLD^(e1dyru8Q9OzQxk%Z&XMJTr#XkvlLMAj27W z84pb6Xy5$;fq{0p0GhZ`vz!88gmt@O z7*^c!c9AV~0jgsk(A1Bx;g!(CS(V{a!ynV~B59URJ`qUW12IjW;4 zC!m1Z;*PwIT5h6Us{2P$oeN2|gQ4xTxsY}lRP8!s^xAch7KiS@+T*_uA7a!TszXBT z!yiqW(cERF1Wx?B@V5egO}+R>f%g;sFr$$jFmTdGD#R%8W~cD!J~aAaH70W3Y*BI2 z;O*-h?*q>TYsdyN!#P`IT}MSAt3$6a{YI)zht0^5v?y&PwH`oV2iFXhv-{FBfh|&$ zSVqc{d=4R$*@fg?Hx(dNt&~EDkN49=&4n`Av?du0ryG*v&Kk0cLv-r-l)=?t@mSNg z8&h{90*UP5}dH0nr3g0@liKZ8X(I1XKa(%pKL#7TZe(<-o@dpq()P z9q{q4L3<~ZjI{CDNEx58?l%Np@1Z#}?m*KFrEMR%s>hxsuX0RlALS2q*k)`$#YH0y z3w~h1wxj^v2Mcl|6yh&Q!7e3ehM;g2CSe+zGOfeY89MbFY+_Dt0lE(sEa@#kKf!`q zdJE2jz}MerS}#MQ(`{sV4OOM$S{3edmRyLyK}9b&;p91&3}Sr{%^;B2J4AW8|^2z?jT0e8{$7*T;5 zR8G26Z;CE~^#Ii;YaqfI9K?{?XUe@yBlaG`W`r6YvG;*^Ozhu&0EG7<{KI*R608FW z)-btisdg)OrcGw8(-4d4lY5-l8UBz$QB_5qR`c{KF>GdhzNm}i!N>9m^F?@Si+u!D z>_sQ~l#Ec8+E>Ny#>WtCQ@(E4R|y53G~d^ryQ%Cn-__a{>eB|K|};` z8Z>E<(^Ge7ni=as2)ZfD?KJios7xQ`t$w_hwLT9QdwE)9mph)eLQg0&2RrSw@9n}_ z>OY*30&6K!FZBZdL~vi8xfgkX{@5MqPVM^&gE@(Hi$}~^Abnfu>qNz}6?CGq+587P zQN}j^Po0>}*!(wi@*Ili2pA>#msof%gNB~12R=tcf&SE88rG9=C4kZ03ZbQ@J#;E`I!VOXBNacBF&6z$0^N0N9?ju9|c#2Ji$u`fyF71k8D^GUa?B(LucjiTywe{1LDuV(%G{thbQUkGcfP9LyAhG(=q0@KM(k`vGR`7~O^{tS8iaW3DhxQL7-|t(-?A5I#EU!21%? zHqCCrIXNj*OoLboX?hf{%`sob@SyPv*GWDdsJL$>K@5izj_Fz6K z@*JwPa@6&(lrq{(a%Wtgy26HSveCC?ofs+BGqry(q3?|A8N z7o`Jji+5Nud5g=c?59?Ig#jDa0KLzIRT1eE5l6?aDM%g+C+&#HDUUlHTSt z@~U*QY(T0s>6mqKn!w5)n5t*pn@$cIlqSWyW+@(|7=0&AV4XWSRnN*Cl16SxC&vy= zm8KYdG)-U)9hRzRJ(W&=lTL;XNmE{yMyAB^L7KptJ3KAeOX=iEBT}U)Rz6J=^tLj8 zWNI)=Ye^&5rI9H{KS>inLBCxn8`1<;;Lub(>*+L-?WNX9^sCLXpScMA zMh^ZkK}hSD{sej+`j{HDuXukozYTLqvklWCQ{LTZdlG0T%`JFuV-&*BPu*#VWueVm zM~=Zv3rifle_)*i+>q>T#K!QfUW?QN=VIW(>n!KtLFI~VY{YT^@shE_jO7BuN3b9#y*|IKhrBjp}HhwXY+Qr$hPd}Yz;&f@? zCNxVM>&I{u?)K`s%{nb!AdyU)wIEJ}w8D;VXhUIfoY!$PG4yug(|ck>QXo3n^olq;r zS$tqIm!%oFNIg5%vx}ZGZ|e{@=CCMNDg)m1;d0=t#l|@$BJ6;zi{oJo(S|Un5C0`h zN-t6y@zkYvFpt4O-q*q2NwwZixsb4~2bLlZ9a}2jp^62T5W$&;cP4SK;1YI#%4;0r zAM!i#CnCvk{MSev$w>Ha-vrpigcg0{4$8v|5E=T$H{&=?4cJ$zo+>kR>|v0jj%4$S z7$qUypAoo}T}8W*_xY>IuHJqt5-Ug5!78an$7b+~7bCzn6H$V>Y6vtfnPI07JwS^mOfn{(c&HA^nZi``&l4kw?$^)zn%4i-^Ch{7k z54va(dB;keF7cG844^wgla+7wxEqvWLuLc6-EfJ^Y>?@f+bK5dARLY1Rtt_E@w((K z2$Y%~@qBQI;bUaH^YwO83g=2QJbTi891!KJ<5n@f5kz@(GZn2_dBsoL1`Vh*EA11` zEgXj7SD2NLk36C_dWaN7FB%L_!Fgv=;4%Q3SlvcdkS2JHfN^`A!3Y?4#2Ji$ac7*t2pD(88H|8&cbvfp zmDNm{45VWXB9=uNSV<_2s=7pJG{vNk*)$kW!}SF{uz?jgNs0Y&x*v5t^RH!i9U#tO z4DkTsIfU!PYOuH`<-W;n4#Aub93KjVw}a+1 zcQQB7cgr)BvEqm;`A#Fs-znznLJa5ha0Vo2UX7}h6Il|$Jb-nQyR7KCaB(DL_q#$` zgLE3lEZzf1CI zDu(+jlAk-4Vq@DhA5&JElU(e$C~h)yQ~-*=*Ke|J9hp?8m54I3JjtaAAv$dt<;EnR z=8jVPSH>w`U%!dE^+-~kDxos|b&^XpR&hP!5~(>o!A&*IwXhOeG~wZ2U=b8?O2Cr- zkSzA28V1_I#i0Rn#}T(O&PA6>Rmz$HZmw>fj|bgeQU~@@b|J}(-V&zz_3Dl!2irV&P=Hg!-6T*CuQtAIg!Qm zX+EmQj^8VNPbe>?$ES~2k!PwG{~*zeV~;j@(m;O8zWW^Ezgp(QDYD`lI4!P0A_BG4 z%#NT$F8vLO&DYl`4{7oqG`_Xiz6Ap)-4n)a{T@Q=fzoCC2T|-DBvkjJNhqfV+-7w; zg%26tV+xmv>B;i?(F{_d4wz2{N>-Q^bZm0S+T!A>+DH{KVHe=gXLcWsg%MZ}Hl29o1@%k-2%d@)oL(+D_lNg@`E2QT6{e-%7L z@@MpRdj2}Now-nkb-%D}fJ|JBLjDKS5 ze1zrBPdZ+d?zjw!D;!B@=yO3He_yPs*nf_KJs4Sz+j>5lYf=^jOWJUA0=JCiS`~9O z`VhOyQ~$xHa=o3hoQ}U`2{dJ3&d;Ud4mo`Mts^%Uk&i>EgOb6gtPfMmN*3ai;HMVi zpFz|4s?INv6mWc`gBMSJj^a$d$t~zk@Ds4IJH8Id5qh3Lg{3~pCidWYXd)aIp;?Z? zVc7B$J~yB8p+L#tVyxRxL{9_8nven%ZLAs3j;+M^|IA7u+`S`Ojxspy)zHuICnJku z11Q-Gk@t~2$tsbo^S}z_q-hb$x(j`(^+y^5aKh&9c#5JaG{ys9ay3iEOOaDwNMWd44@=~i zELSRpUggRK#pU`aT%dC8fl>$MAD8Q&)64Z4@Keim8|dEUN;D_pNF%b z6b|K@;V6tAi$Yxi0TRqHwr__l?Ttb-PvX%X4|m6Nz$m9lH{^%tFF-n;C2k=zQ53`D z3J{Y%e>$Vq(?P1v$nz)-!t?;S3W8K*(QGB(ehAL3~sWJD}7-Y2lxM@|_K)_B4(L0m{~+Sn#hHLFqj35x z#+nX^SPp)lV;5TU=ATO2Rbm_XyT^lf+_9n?*?_7m`iwnpJnE|WBj|0pphuq>JDHU6 z)6vq7|HCFfzN3PFJ3?!s7qTe!W%#3U6HW=ZE-u4g32+oHo#hJbVX_`v;P<%DHS)g= zQjI4>bdQ{$gi{&0@kdcO@h8M-*!rWNDS}03)tllmhI@U{`fPDIf|_DN(HOre8Vd>D z#P|Y+e`3zX3{8grVEDCf64_z+pF*-ZAW~UjiXA?JFBB2HGDJ`}35a-!)LSNO@!^|h51S>o&b z5Aw6bupEL}3_tM_{#V9-sQDm2S6qnScyPEJR$UReB!ufC&=T%WXmBr!JRA(O1UMO>m zhpO9xZgCUR?iTwCCo`nae25`Bq;~`Tuf=LJiC#{j5Qx zb4m3?q;XOmrR6VN6MnRl^yD(CfipN~{sU>2C@UwOh3xI*f#lW9{4xGqak8J%8>s#X zp)O?qPw7Jz9tr$Zktm7qiOc6$^skQvoPLO*C3`sH6^6^Y{f!f^gpXfwT zI=)Ei6^}EO4@yH1aDjhLXd-q_B{h8jQ8l7UXlR7>1#?0jxV;_}UC=D9Bv}NMR_PVr zgIa-;i(#y}NuLwCQ4A2H*yb(KIiXxohcR`1Xn9o_d*$<(S_!Hz-h077244pESza|! zoFe`O-_aXY5Ou2fkLU(H2r>cc2XQl~U&lHQq(W+tv*D# zn3`7eR-ZZI43Vi(iq3_s1N~$H%iifjninW)bt6$r1-*Xl6&VP3nz%v?*C_2Tf!c|) z=J6W&@{0aeA3AwHiZ$nyQ@AzaXr@*UB8FkeQW2RD#;X6h=Hy_la91g-*H>w<~Yc zj4H3#YEroS#T_iW2EI-d4~n~)!T<&8A#o2=QK+{e`W=!PevOde(G62vf3JR^EE zH)3DhNN;WI6g#!4oxzekV`^txDZvp8AI&BFn+U=8@#WsBojP;ou=EV(KV3%r!3?jDJ%_cv(5Yl7R%J6jXV|F#nx%{J#a2p>{Ma3jaQ zoo#lq^mc^RL`TCb9!-2@z6E$*)gHjMeB!@9U_bDeqVKcxBadm`VD9%!?KBHM13bNq z;Lpy_Aibb~^v{50O?(pg5}d`*(ZrtqWa0bpm!5v&q`Gf`pT|1K)_&)y5KCWs>Cy43}{#`Y?V@guL>wKld?wkom*epDZuMzNdt8j`-~V688T)&apcfzUZQK1z4IHo(Ro%VIfDnhFEfx z&DXOj_OT3aU}!SzWLU%S`7F|z%lOBPKgzhsB>pp;!)E}mg3UuStHkF`CSY+h!6yMx z+tGqF@p3-l>(Dke(deBD{42I&xG5EDJ(R}3XHpKVfzMUqyk@diTt}%M?w`T%8SL;4 z_rL2HD6X;3&h&{n;yVwifAwc-8+&^g{mUVYh@VsUW2rM6>=Q@C}^*GPJWeg~w# z*1Q6>0<#3J8y{)s|E9HT(1(~}4Ipw}BY3TTAv6!+JpT}ReiZspA(j?pU>w#kmm=yC zP+icnnA)%D)s-|xO3HPPs~)q{)r!h!3W3_d)B$a*!wc$8MLkiCxtn-IQ3HaT4ZGN; zsH*B^$c4WvYF6=P!zuPl%2nKNBkqHKuBd4P>p^|R)P8MOU1NeepnY7oI@2YP{rK(I zqK;%~I5s@)5YOuz;xpnkZRkR% zP5Z?G*XHsby-2hwYJ2&*%wj=X#3&VUO!EzyrQ$+GeLJAYEEOx5+94h(8K;$sZYe{F z-2%-&Ny_=Y|E|n3@vNf0@ZSgO1x5WeZ=6;xURBhdJTKPedlYr{fQ_O;e4wZYp}4VuK8a^kK~-HYcdBK|PqD-pP!JZA?*4EYI z+n_ZoYKL}s?w8uY1T`x6qs+kxYEbUKGY`S}CoyEZ9WELY)X$m2#W+bhN7OpAMu?-B z+9uvA&jq!FsU_k+c|}6I3{BtlYXm?v8Z~&KfT!1=&wfhh-fpW+tekvnGk#64XgqM~nLt z)R|ewimeH%J!`6XAwjLonkKNdhTk^r*a7RaP7v=ana_6- z+agb7wTd2EoFkmi_m`}>0&hd&*CmRI|C)8GI5R4#(dDmY%@a1v?MU`r(Q8>}ii1q8 zMSa%Rwc_}y*~UfUVJ`Z$;)g&^cBj~`sGjN?qf5N3sI$E#*%ynx11KEz&{f%& ziszW3TF{WaOdQHpW~uYqf_kxB9KlqVb8|rfs3}UezPcXoCeKu|+p7ye%~i7dD(b~b zah8%jT~Pq)TqRo=Xw1G$ELPO?W}=oV>ca3KP^%SH<{PJ7Ce|_4h5!3^U+TtWxkD^)~BzsO#*KoMk6?Gf>kX2$YQ(exjnBT7wA1c|1@J4aD z_(D+&Ve@kFv!ZJ2h_dspP?vK+T>+>prj|N?j@IMfpYkc0x3K_}U&)R`PkV)^SF(8} zUaWumDw(}cJ=Qpbl`OYU0jN<*_Hb=IN_f1IZLKW;b&Qe~4XVd#Xoiy24k`dOTgkr4 z9j9F-&QP+SbG`T%D;Fx++sKKl#YKwR3C*j;GNt(%G_MwGlxznyuMry*b)aFKc8%Dq zG=FOFLbgT8ULH73TPL1U)N{zQb>cZiY2_q)S%oVq_d@oTl1+i;wc>q6eG(j%eXS_x zj%um%UZ!dl^;CT$WD!Y;LwpqO7^b#qL$G&rt(d~p61?Cr0h%u;>Y>JCve%2gxX?vy zY;5To?FP}p)HZDk!rdq;X=4(ymnx=Z-ze^2O7_<`iHDTzZj9MCiG7MX7HhX|v1Pan zw@~+D9sQi5<{4hGNt`f3%Dw`%S%bnsqMezz({2Z6Tm%Bwdjw~s@Ld3pBG%4yPQ1^%yMR^eWz2b63 zoe1haafhOw1NBGov!Vis{eIzUkv1;?^?)c))L{7Xpr}$*Ir8Np5sAy-%fn)bqM8u< zBVvl8{sih#aXVAg6V1+kOuWdH?1}y)_DITEfR^*5_&|np)}iG*DLz*+7i!N_;(JBi zRW?q0N@$}5eqGK#m3bj^Gquz?6qLewb8m<>x#VJZQFI)gBrev!F_1F(M zPsug~3P5!#nJceeJS&zfS$SRosI^L#gK*o#^-2~(xNTySlARjaD7K5c6m<>!+%6td z)V>H&Ju2K6kpfUVmF#bg^&0KhyGqs?ECBVXlI^al7te`r zlLLT_S)M@QTP+)K#GVE-DrE4X9T|SW#op9$piJ6?HwR*Ton` z(azKxVw$23fO=ERiOb;2TVjEteggFmaiOA?z?Zkhy-Xc&Q9r+1Jj0Znt?d@Oq)c-} zHygXfK1F>QSZ3dorn#4rgWrx!vXY?e6fQ|oxOc>ti5R?MpEz+mg$@p{olaZvP~ zOjMVc9WX)tQBi-7Je++{+;NnY9Rww`Eyqggi^iw3b?qaj){1o%7a3TJs(yrcpyqUI>-$(mi+Htl9b{f)!zP}Eg5FG2PZQ|rX8 zoHw%V+Ta;vWv%$C?YL|B!@7(@$hg=XvONGc`9;UCu7_yO~;^l3AD?W@)8L){fa> zmR6%=cVm5&t%a5BF|16pwE;?In&ULDHeAW_Ot0{2hbvhwYI2S?Ny*AllXJA=l`IQ0 zq+D&8qHgyR)vc(5A;XI+|0l86ViL+ISNoQ!E>M}?JZztDiQ9YlG)XDt7=;sXgX!?T*t}#(6zl+r|{-b)$E< zmNSoJOP%-i-zY|C#Y}ZMpTgyk5n8p9*&!RLjZ{=FQ!^FS2fGd>OAbr9GfzOJQY{_9rDf8sSE3&nj6f!j0Bm zP_jo6?ojPjC3_L!4%PN3SrcSqv=5YQ3}j=p&y}niHV@POtz>;+^DylfB|8q`4%Zx~ zQ!aHm=OWzUnwP1i&dU&PtX8CCHzM3vtxCy0sNX2YX$?yDW4#8dzmk20mCbl{hhRnc8wiY0Y1Y6SbnVrR<^nukki_ zO@f;3ou#c&)DaGxjB8t%S}Ow4GrV)ORThQYAzt=|#9VC+Q{?s8-nrV>l5$!DFZ7JR#8!m4`*l* zMGdKW8q`2VS)pa#Gqn+lS{zyhYOJDWpl3fzo2;la(X*eWO=D`Qm>x03e62@OH#8Bo zW+C~xR6NL(=R8TB$J9cmy2O%(M(=#>s0*ZQE@Uxn2~%C-@JORKrX9J6WL@I<{#SYz zXs0Bo>%5k>oGCdII7jPdigM5t=V(1lT_wDw-QIJw?-H_Gz2|Br?PPPCpq;%%T7)SI zhpS=Q#1z?L?aYL1n0}GADn)j&_7qccG`u9OU%Euw$+AntSz?WrE?c6#pk%wngWe@+ z;V#worN}PTeq@R~)5KCuu8a3;Ulf>PnO1forD4DJEk0wuOgpKADc2=^$7##7QzWI` z8zs%SY=f2P?EnrYQDC?+R^_q?|NMSgB2As>@k|eUz2j zAC!#d43}xAD%m4m>}P3oqu?u(;7{0r({Vyd_z&etDEV)t@JAPuG!;@P{Z|}1ZzauC zskAIPNjz0EUH_$M@3>^V7Zgy8XH=0iiQ}epzqr1x($$tvn#;VjJ6#+msZ6hgb-5({ zERXm}+z>9dycVYdx;T|nk&0gruXJ%4Y+_W!o?JZbN!$>5Wpww6G&ONgBf(>93CdKT z$M%0aAM`XGsVUPq+)ox#)0@gk#VKbDoXsWmQ}O?~^y&y%xCJ#t7tRv0N%>|I1$~KM zfP0O)@RsP{x8>{LudCK^QYOoYbmFBzsYu6hB}G}o=`$?r{Cc0XFUv@WP0}H2Hk`9l zj8`L+gt~Z)Eu36IoKLXhuZwR=lTvB_FwTFO&o84K4OM4k&5=;ngh5SY;c-}q>rBQe zkS_kwKsF^zt@Hoi;%%rcI;RnDxN(e0jwWv8bWx1Ds0oojF|L#Ue}m_8j(Jcb#{YW0 z$r8B&H3ahrhW~rHaSitmzlOWG=lpd|h_?#O z&=P+WH^lL5GbxR8e&OEl->5T&c&~BqfcJ6ykv7LL=?XZlyF6_^*?fjiROwFHE zJedQjc@@u%--)>Dp=ec5NG;)V$Gc%78S zIS+7I(%L8`bpdn`?+389a%%D91S7s%>N{% z6iO2k%DlzLjuNpG9*;%#?Wv<7No{J>lf8PXRE~hZ&!>?ny>~s{N1RkhHzShsA3NSm zx8o~Yc5x#9=$?ohf4EyKT5$Vf3|@YE4L1trX;pYOfZG7Q2Hc@&V0spATV~i z_Zt3Y;S@d#e<$M4hrieGHw*VcXjYvAXyTg^8TD>h$f(C{NQOfgj$$~T;n57IGn~b6 z9$*2!13{rKV7LOX1gA#Cxl>eCR{~y*TQPTvAa27vE;!fWG+$v~B92W2Q zJr}1BFJivG6?h2m*?(NuF79W|tqj-d6lyJe!`*6z*DHLiV` zF*%$k1Zht&qkb`SmTJY?()`u9I%g@tC86Ol;s^>*l=mf7| zxDN2E=w`qX2uu0U!~E^~Os*BHIQEZG3J3JH+7j%vuGKc+ZZ$zKVw@NK8Tz8cW_+x7 z4$3pGN7^-Uy|%>b1HQytZd}iIjK0_RM{A6ujngX{jjQ3aDQ-}Z>dXzCu6(XPAM582 zIuh0{DLC5D44>~LW0oSqswS7z8f*li$25tv= z^^MB$b?^t)j?>OICg#pIs5XAh_0S6)st;?86Kf6ITI1|m7vQCg$C~}XKdklJu4fOg zH+lvJZQpC7>igO5H2UTYvgPRKS4;-ypM4hD`sue9Tw>e8Y1j0tYF61s>HBl9u|3K8 zzm4;sIQQ5n&mXo8fe(wdQTmaCDF1t~&(cpnSoN9hY-3ygMaJ32=8ErtFRyUekJiUk zWZJhHA!HUv(=bd*2kWs|1oj|&eNzLc$H(Et`C58 zx;`Q}*S?$i?=ydvz7cI_mi``26ldvg1}?JC(%TxA+2?UPou^lq;(me_ETtOqF;?Tn z;NNI3)(@0iqkYC{{Fbf##MW$DKGTEygDU~4UU_i0Zxg=y zNIhOY?|wAsl>?|&Th~pC08S^6(t+YzZuhWHksdR@8Z<* zdz@3<3B0KMenCIBXDY=n(c)G-QlwNd``z!J4Yrf3 z&v#J2x7eZC9z`saleat88ePrz0v=X(uVW#4=9M^K818?@QG**~D@7RiyN+hQO?C@Q z4`IBYt<0f0``NxRH=>_h@2xS0uy3=pJ@r-2kCF3@f_k2SbC!0c_X@OD*ML#ZEX)yF z0iEIkK#y1hh*1hKUu**`5^n*PiO&Hmg&i+P)re}qfEWN67Lx$`iWp$C=mZ=rZUj6; zJPFt$-Ub|lH^#E?1)n~EM~ZQPN3rE8%%8^mnc`INTgAnIbHq)6r->baXNs2q7l?lY zqLaN;gT58xKD9q^B07vOI35~SB@uL6HaBk5xrNuSh6 z+N1pfxJ|QpoZ>mn1^9xN1^BX-2l%R11o);_4!B#Z2HdCBd!m@lY|n_|#_6z}DBkrN z16V3%1NIST0*3IeP*gODTLFiO#{mx&p8_5sz5+Z}90WW;6y-+6Z04UK#sY5>XXhS@ zGxGa$H;YTe6S>bC6w9GD1KvK%@I8ixoj83M9?Ebw!&wgEcQL$~VU?3P47W1e&rov_ zztZ)ixGcAd@lgzCG3;V^GsCS6H8<(s%y28i{S37X;#V;o#c&qGE`~QV+|N++uqMM% z3}-Ri&rr)`DZ^HVoeaAf_AuPXP-Ky2C&O-rtvFo;hv7bk!b_Y=hAj+R8Fn)4X4u1U zoA*#??qmFY#zhW=)fiSXtYX;0a1_H6wqZrO&*u}7$ z;mr(t7;a^_pCMi6M&2^4$s<2UF+Pi77sHzwZe`e-Px_q69ol1r+3|kp?GVEs9!*Cx%TzMjWhAj-o6dnpr zE8}w*?_qo&!^$GkZ(-QUu$$pNhN76HRSa7gj$+u#u#;go!ybnF7>W}1fnf{7R)#$c z_c0Wuti!N{VJpK&N-3)se ziZJsTwlHjE*vYV)VGqN73`KY-QNVu$y6JBlU+Z z3|l4Mk3zLF>}1%@u!rG3hN3@PX4t~8m0>5tZif2?45PFUB-p~Rm0>5tZiYP!_c0WM zNVAn;C&O-rJq-6T6oW~pl3^#qZiYP!_c0VhIL0BI3Wl8wyBXq*4K3{PYE!iHwVSnj zw0+ulno}RI&(;^~H|Y2159!bApXuM~Zll2%W6UsO#wEro<33}TvDf(6_`>+!IB0ln z#kN}8akf_5Jlm7DgSLQujeVW{0s9wrhZ!`-m?xPF&1cR1<`<^d5pfK4jBp(8nCLjh zG1YOZW4U9!<6(!x>2>;?jm`niVa{<*JJ$Fn<_J!aiM4kgM!-aW|j^|*$Ku3pTU5{gL>%IO@0lv|HE8xt5 z#92~I@XT`B`TAG+F2Lf-mjL(Yy$X2U0MfiA`X=Bh4SN7%1;n3GMX zdggEE7)OVRb3RLl)R9hpBf+yu$bzpA;oEBoHVh)DaVp+n3vcC;&MwA9knjTo3BJJA z%E}3!#`xz!C-#6IV7RrO{0y@FOqM=fMw%lS*V*R%Y;z>@>zTjO#$JU9-WDKO_5ZN< zCSXxj{~z$V!!Ck?;tDcq?t-G?z9FEJYyv87;Q#|n0)sOH?h2M!E@_!&xtp4nYqnXr zrkR?lKhrdKt+XuDEORU0&-a{rxOZ6m{r=nYyzle87H7_WzUOr|gzCTNyU1)w`8y3Mt;b;#yAbKC^=aLyp?viQl&)?==`z0VRF1>X_Asz&GpT7Gb^mNZ)>{A<{jZ66*4_7Ehb;)4a#iKD?%cr!#p?CeI(|`TjiZ z$7?J+zmn%4H>2Ho@zV)zLHT(dn_{hxIW4{A*9!TwPlX{p*{UPb0=|m|Z3)5=ZHYcB z&6nH$wbMf#ryA5`j%! z1NkOM4fx&00OXq?HNeWQjkE=LioUz2KGG13HsE_%gORpj4Ux9T90pk5O_27&I0Ng4 z5qKU5j-!}GE9CPq4sSyuH83m2DX^*AAU_5XGXt|>4#Z0F4zmGPb|c$#$OVN>Lu!C+ zOK)XAkJP}XLr&nSI8r=~WCM|Z5vc)hEhHm96Dgi3B95rw9e_c|&%rMU7;txgC~D>+ zHL!WGqz#COjYQ3>NDa7=nuhc>L+&4k~b;KkMY!TkAHn2DFUbca~3EUWP zzc>$lb|E#e-N1?g(YGByfzO5agA1L;ZZ+kiW&vrzvn zQUmU!&O!bRQap3Rj`1!mQUiRNSCBuC)PS3#^O3)Z)POh27a)Cry&7#k#C9Az*;FQk#CI@)TO+Id?->-m$C-=wnz;uOnDpmc1S^Q z%6jBGAT_XX=~p6+`QR^bd<6OH72A6macq`dGma7~=J`bq@H(8D%Z$)Zg1Xn&Ripkk$i7yWy?9R!EKDVmC;S zHb|cW|KfQO_}7g*a-=Q6xo(gZU67I&+JcR8iA0+25{)#|g=9mPOAOK+mjOthb%{fo z>q6gqP=KB-nGHQ#vLf_s$;P2)OEv*L@eUn&wq#S#vlW|$o_LQAJ#jAtJzKGv=-GLXsBBaADc>si{v1P?;i4hjrH4z7%Q%1K5s>$cYIklQJ@D{kTLgWNyyIOcKM~G52kc6*lH@wwV0lKc)*sB z|9bN0g|ft0yywSw+CcA?FjP~fmw^X)y;)6zP%PYY{XaZ^}W$0xS6!?=ECN312^Z10(wmev8~o?X(? z+NL2Bn&Gh8XaQcTWMvwVk(L%^u@~f;#z*Fw?Dnt@G`gbx1WrW*cx^;xCSR=Lp|r`c ziktW*pU~E>k~W(12{W?p=KRc_;c3(<7YI_bNoG@KDZav3d|_^`DLvObDvZTM=NIOg zZE7hZgARzQBdxi)W?2%|;`DT5fN3hlTI>#dcJJ9KEp4pLR6yChw6wmKd{b`j_)4Iq zeYAVRMxM~tt{scXceJmh2PUqhg;0*B48jRMvn;tBJ?)s-n7a3NY=C*ZIa9a)cFbx2 zSRG_iWVSiXwo$zIU{h|PIniXHVoa2UW6fk6k5YvMMO$xQaTBMCC$zPzqzzM6(n2#< z(nN4{cmfXzJh2VHXQ&@P#fMCK(T4=&2G=+6!*=9#tQel3CJ+*U3X4e-g zJC=?W13^nYp((5rmq!t{Y%Y%Q8#$HDUr7ti|AeNn&XrDBNefN*gr=}ABrq$Tw2~H@ z6iso~%t9~@>z-({6qy|6n7o2qbDlZhVIt8HWpx%QqcHX$O4CFYtOSyo#fzUPb| zhPl9s?}UvKhan3#nTd%X91$B6m6j5noRZczCN*VHQZ$p55lQ`6!T^>$-tI8xg~lYX zLGjV4iP4cM(NSs9Nl6JwEIJ`JEwX<^QZlrB>8Rx7=(s+yLs?XG--to6DQQCzk_Mzj z#Ux>1LefxHM4X$J#?0d!HWPzVNl1SdQZLHnFtI#)hSip9Nhe*w@R`Bv1?CJ1fhHg9 zq5aJHW}790r6k+X34gTNI8(kU+nkw_V}tCC$;2$VX=#>xi^F2dEv=-Ek%cxJ&?o9D znw|^TP-q&~H@DE96K@_%qC6%m-fYe^X9~=k@-wY@$*5p9Et_0uahM^7E%qEVq?qlF z(gHt@(w@oKm?g`iP8Ma&GgWvZjhS*F5VM~WrSY%O#+521OYEH;pc)i&O_DLS8YXeLX` zu;yBAvXo>VQ;7bVY*2oI*a`BWI!h*4N1REr!vs~5$&$>Od}d(TY6Dga3LO!48V~r< ztWv(7?sQ5zG{&AhK0hPJX3e)u`1if(_{)rlu-l>1pvo+uRVg-mj!sMKW6Btf?=kFa zG3Qc?%B|&Fu#b$<{4mP5C7JC&X*>?Ge4CEk$~VU0>_La+8&p~>-=NZC`G#1lDRU6^ z2#VsWzueaP!YYaf5tbhsJ+1&}T0w)3&dZNV2KSY()pJ1kR&a*hnrn{E&#-0!>E$~J z!bmhZa>}=rvQYV^SW~(=w|uppyUMqg=dkj9aNzlNlJVu6l5?zM2ZQUN7RonDE(38B z&aoll=JNd#Nrv<>V+AvavV1!&(%+n0P`)MJ+8>hFY%AX~#D-#^mSf7aj*YYy zj3<#>!940xLe!6Qz~!o-lj`bRm;IdYr?YPls1QyL9BrZG`5w+UcmE5-S)O zWlk^5rj;vbg8*?9R#4v;)Mav%N7@jR#UUsodYq+#b|G}ik4u2<4$q{rW)31(4CRNa z_>Hs{=2x&_Om;rVw35cYu#0dWm9)ly;qx<~-nn+HaP}c4TRucWB@++@Rno-CvXZt$ zxW1J%kZ8+=c0!$Hl)TC&UzmdTakt4D`gp3lLo_5Fp;c@5xkiT0VJ!^ zppJA!fG=BO1dYmK8rT_XR2Cy)S;GF#w>wPvSUuTH4tp|4B-c!umZj$9@=pycUZjnR zd3ljLMy2YRscY~im_IN=cs8FVj5Cck6ZnZx^iayoq00k@ypCqqX>^W9eVN)-rOw-A zK2Iom1~WIwl#j`AY~VKQXfx|$&bH*Mc_1e`zsLeJhg^=qCYyz?++aq<)Af!I`jX+6;%ZzICv8C6-1=LOnRKJBoOr*PuTWWLjId=GD3;q!U{^bc0Jf+F-mw5sub6L!fH~v9Q_J-;$YW z&e!Tob&ysirzGj58su7IvN@v=_VD;bvn|hJCwot8lLMV(Vfp4LvpvIR;moczO6S3@ zq9VnrwW-E`9PDAUO{*4%!3A!TIoC9f=j>X$1P3IZS(xF_8v2=a1=)+tWSb>BN7n>0 zG37_M$HjT4z75(<*BoB{x3r-vq)^Q=YYGMXaPJWevggeQ!RvG=u% zGiN5lnyGvNA+U5ExrIhUcnbn@30akojv+e`9k4f+UYNzQa!uKMpxzVatm;&u$`Qe^ zFlzV^=@;{Ysv=A4NEel@17$e13z=S8rP|b_>?xp6%3u6y152^08O)&Ok_*%A{3jh) zCbuvMs5Cr-a!>}xo@{o=EGYm^Y+!AKoz#XnlOrRCiyTmnn6$sio+I{N=&Mqo0Try~-(=1p8-bGwcg3#hwL z978Ob$W!-N=qzNRP3Z%Mn0<%^8JNR1hsbiPBvh!jP*Z`0B|2;pV-au~`82AXO4cHa zup>GZ39l=iN*OXktCdDAI3Bc;%70o#L~gD%qkljAN`@(y^|hJJG9L$}l7l+24`jeF zVk4x``Lx{8)oFQz=|tF7H01J*1Px?MX}pn-bgHNz2qz-OJU*%MKwbe9eZE7~(zH?< zYQaiAc?H$#5|H(b3`6=9lEiAwB`TwMJKr46B_Rt`1RDyP)tU{_rU4)y-q}M%^f(4g zT6rsn@QFQ$Z1@~P*zjyWvjdOHVBU$z%?|zve*~Pwvlf~%hO~~@6ys*6nolTz7f$@5 zmdRD)`znnnaSUlCemd#{1rTLn9_s^?m`(X?Ec6%LECw+O?m_aj6^RJJma0QOcS5qN z|HuK*3N*EBpu8?}#evY5Vdz_Pi_C(h)DUn6*HnB3CsipiE@;*=L3C43Sf%e!un8Us zls2mBm}H?fpP9sm9AeH=AIj<<(2}E9s+ctOpt1v3A-Y;FgmmS8Hftdw2a;g;CY-EO zC~N-M0?+_yI_;tdcC)L6n1twY8D?%huz0H@xv+qq5+T%9 zT1ym!mcEF(=xRZGI~kdR8w z)_ko+>`yCOC?=*ANk<5u9S6->T-PYq*18jlb%qw5g}%tWx=hUwV^)Dt6A$YXDG3(^ z=1d+6Li=#r#%8gjLQF57d;l1-rR` z?^(u=IozcM&J=Lh%qAP6MA6pV$Q>r>AYKi-Kt!5_eo^zVtBHfv5`icK z(tN4Xf{@_kqnd3j1@R&^8>6CJP>~%HzQ{sdGQ~-ht&S1+DD74t`-_wAQ;5hIM(e^) zvZ^0KAvjhr8BSYPau2o$DojL2)Pd1dLpCQp@GK=L9+`kNqdH8c=J-l#KE*l+0XQ3M z7>vX-OWNiT+!UcYT1ikFJVP5l6Yj0qIGWU~lb%%TKtVVF5f@Rb1TNJ=nwcJ?$q7V! zMlBJPJmjU8>2x3#3*wlUa2YK|bs$(yqw#q;UXidEpPY#sHZ2YLE_ zD(=LfG%I{1y0IgQ)L(rZqLQnq=OEJ}0GFVrYz9wh1dlZHBP{d8gwIj7F3oN#QlF>@ zR@5G%@cz1oDi8<`F?kF`0|i?N8DKz0q?1CfYd$XmzEb8ajS5n~3S^L~%0hKlpt`Hw z1k?1ylYO`k{C-p=bLhsF>C8EZYZUI*aOn8uG!~jckB>PmNC}Q2NE}AAgfq%w!ovi( z78!Pd8?kG zP`;M7M-DH1s9c7$L-J=M zp2Mw6m9RuX$}*1PG^^Tyld`ly?JTX-9wp)^5cuZSmdKJp1x6~&Q*Z3>y$FNP=_U`a zC(6y9{_QYnQ1HrvBY&J)zrwun3{|2{TC3kH|vbwR_KYX)?NqM^l7p z&RM$a0i3H;D#D{_o+G_X*Un{GwHHJMNpYtNT2Oc0gdc*wOzoU!m-+6tPaZTI#F6p2E91RZtI*gtk2)%CvIn{S`h|E78CdtHYG*T*Yk}ZD+b7 z4Ipu=HEJblBiU7Yt%WbVee4zcKlQ?hu`DE|7fO=F?ZJ`&6rJT-h*0NiA99 zg}tao>R3vY-9Z|X@Wj$Gg)J^FX7MVHHEs}+H5`!zQR&oGtKkA&-dmwo#~U@DEb_YKR_&=w*m*G z&~S}Xbd14zrp$zV6geOXSrPf7MWtRLO~j2dOv$fLsU_O8_OcF-L&3UH%|u;;Kz3>D zj|1p*51g;zT$4s_lk*T&lQ>t(D{Xv=(t@=hjeAvi;EXUXhy&Uf?jB0qB_Q%KiRaO( z;V<|xG+JCXQ=4M!6u3^XMduY@B>r_vz?+W_ymf5F+t-mib>N-9ai|N$+s|5?5q<1< zw=*B_8t39ae6ggr1*J^hn+=TP?QpA6myLcl)Q>@53(sYurU-97=c2}pd=^%+;nV80 zLNmOt+!pUCH^c0TTWhql8U^TQ1vKWS2dm*Dls=}b6!vau6cj2DNNiWGQSSyn-H%PEr7O-K#{)qtv+c?iF;k2`^m{DU7!U|zS)X@$&%M`!#WMUYN z<;UZ_Y&|C;dI8`FXcI>cLdBT2B0{Em2YQVz1y+)dHeYj$Zb2J#>59J|jHSh3i@A6s zT+B#F5(g&`_U~X3kPwg3C_<7EZ)T@duw1`vu?d2BuLT@B9w#Xb19xKgWV7r3ET(I&@f`|SxBT4KHySnVmM_~?(1 zwa~+61e2IJZiz66JS539WX#8;5&^Lmb0b(4KRT0a5D)E$%P23o8|EcPGY8!+YiFZqw!}290Y?Nhl7DLp+Tf5CAMH5Mx=x>`jr219J&k# zoao^)6547oz7-@E-_{Y05rhY#(24k)jIV!*!CC@?B=F0ME)r~ZV1aarrV;ttA%Uh=uOt9(1dw_coNWp4TMEue3ptBfnvEbAx`$kn-Az`qgnh2 zT9Vo%cR4v`5EKGteT$}Ni4rofGi_JGEFz3ay*Clm83PFxi!>S7isYDzLVhx>il1tt zon{iuW^FxT6_a)+Y!Xip&S`u!zWJ2!EE$N_CJN8SEJOstBB1rP{nA;`I%Iq>zp?0V zgS4i;c3QV2B$?Av1`v?N$z7V|#9o82fj(F^i7zV{Og{xJl!K`V8JU<+0wh>Q1Ct0t zGNMNN5=dbe#bABC4JOnWL1n@GnfO{1K@yt1s;$=!ZGyce^yKv9an>a+5s(WHA%i2s z&imW>tVEzhw1jwJkxJJoTishJq0}a}AR#OGP%3R^NmlFSE@=i5W(2tf*r6G6Iey8u z6pTa%OaeyYfryKw11U_xsoWDCmM{)*gkB^?Ef~Xw4^eX(Q4*dDI0*|j5z?Dx!n^NS zRde=)G$JerSw-w9$c?j=w>)K%2Zx;nnUu4FPHB4tEJ+AD0@QNxUR-0j2k>@PG;YKy*Qxs_ceD zz(7t-+pF^5R;A3(SuMlRD+!Lm(sp2$`~jjW!QcWYXBkHz5~&kN#A-yD#P*aUCX-BA znds5mfMl-NV-23tT`BevD|K`@&sf>V*#Nm2t}kIY?xbsMKv)f5fUjsm?JM8C9)5U@Sw?V zB6B_)-Z9xkq}KBQE*&vqkHv4LpphmNyQZidi6bIT zGFpW2FF%SzI60wY)CiNEfT49o*g)!MB4mA34g$U|u>}bLvPfv{Nf<{pY)mqsrMQkD zf7%172xk#PHi%$+(*3l3Vay52Bc_z0S28RGqY)KRq==}R#tVmolnt#+szbON0+I~; z@U*jNBS^~XV`ni#+L<^<)Qa9>PORcXyUhjElW3PcoaYuCCmcs-+!Opn`vSi-Kjx|- z>>r8eNgxsuE6!MwJgmoZ#k0|w(as3ZbfTnyKGlmBGVN&la>}v;$}*ie2BRAH*36gk ztgJ^MQM(*TiiVDr^a>FdY40p}oSivOkgZJgZs8^JNQiK01LP|z2%Hj85Ftu}ApRs* zSR4xJSs_UDk#6cM;yEPhnnTqR>5%V0>_NmMjL%FS{Sgi`IM9b8B1HJKJ0(D0k}jjt zhN3SdyTxvVh$7MuJ{av#T3S5%(W;{U#1O#h49LH**NuvYP)y8?)DrX2D<$TwsU+s1Dx@X?c5#N4DJ6wtT9f&T zcQl8K^gFBOEXA3Zl;NzJvjk_}n*3&*TFP>h;({L_Yf|>ii2n3ZOHL;Nl4_D6`HBAM zDGjSZV-wMz=!^Dbhb5Z=N+vp^osI(^bwpl@7OJygj1Z}EjI*sn{7*2@9MqTijrdcD zT0z-lqX-d6aB)F0MvMOt_X*KU;S{mfvzU*35-D26I8t9?Ug3gi{37VTIYxzI{!q?| z8a{c1+|PLz5N0Jq$TdoWTOSGaOu-NWg`_3PeEmY@S%E|i5iohF#Lk3HvZ2dbLgi6T z;w%~cB`eb5P+c5^44L^9@+5IU!sdVCRhL~u6QYD>=}QX1h|KwDx^hD&(TPx%Y9g2-;%{_#krQF@Bmiv@ z=q@8z|C>h_uWm>j7;Pz=AI$&FVQKSgsQEuXD98z6CYhlr=s-u4k}nxBk@W>%i16$X zAUO$N*iF14pO4XFBq6A!Mdxf?%d?fLL-0nllkygx0?`ps1tFEF#{p_+584msHAVOu z^H3;gYHe4VlVd{E*8h}KG-&hzOc`JnDxP+w88qe5Bio2aq}Y=pPlQBB5lf2?g3m(; zRW>|{8xb^Ks1p*Lbm&6d8cT(*GcO3PGD0kOK+klH5LT-u)*-}$$wDJbSU3Zu3~4ta zs0d|R{G2obrMEy9L)rMJeh>jA9W(-y7M0J_NEVZ2W#^iMwkt;p8W#P9T`0E-J0O7i zlboj5FQKe}yb=U3wOS$Vsa``9af6ICv0$=|Xb$1H*i^wGd$2*VYP)o8=r9FBWgm%j zc?=r#;^>{xPw=x=cK!^u0J|n)l_Q;nrcePaFInv?j+J&IMrpPnwUk#LB$6u%no3fV z&I3Uy!-+~Y;fN7T!t+0?H_rtcg?cC7XB-fj2h@p>bj9&uxw*1H3VIizYFdmANQ7*N z(x^9)h|mDkCd|G6oHGeZX++TMgf#JdBoA|O@5YJrXdMO zZVX{s^NGQwd9i9c%_<(Qlb=7N=1)hNGK_F0 zaZ4B>LzEl`>RFbq3GejCnA|gARFXDf1BRkh$otc&(_X}$DQZPy2*=d9ZWh4BCN+Z-zbYD_0twDNF=oO3$j>b*}>ypqBPMh2pX7Fgl%~lqU9}$I{ z*$97>HbP{8u1hq+WeNJK{T95YIew-znU`8%ot6mrkR7ErvV~jaEY1|4WEGQS_c6b+ zHX`#YYwn9GrG}1|yjH`! zWjr3TGCYa*6@DVk*IYewk^%CO0U2aM3W-n@8>7KR(L&*(6TXRmNDk2mf>TH(;X-Lo zj{X}ISSTeV=@UA=igqs7Bw0XE$Y)WKj-M2glTR*a2Lw0iWd%W@Q$ z?S>?8KIc=~ISUpTPJk4Z!E_lnrPCAbkvQd~iramnus0hdK4Fge#G#Y{PbnFfD_CtA zR1_ybJEB{StOap5X&<5A1?I^s68n(r4QM{AHgk$Y7J*%CJF|@Y?;8WvpR)Z)JuK{2@@djCmtXVvGLf)sK z5UAXfoS(2jXPtzx^4bd721KDOfc7ZtZaEHpgEXsIA4U~t!Gg7cY&IH`T_zO2VmZWLkFn60JawGfuJKkpsSW-KaeEP%MQnYTAa|B^8~GT30Mi~35PcC)L~R!Q_@L0EGBybS{Sts8jkW<=U6MByT`6Xh^)UD0 z)Ru|9#7n}?qC+NBkPa0#iMZw}p1#`9i}*)Fm)wKwO_VCMo`91MQ1)iUCHmzh3p%4l zy7&eBWb`O0Z%z^uh=&I9^vJv-r2bZ1#Xrp+Rewh@N#tBQ> zvr+<5BOo$V=`aZZ0+$Y6k{kt@2o17c5;7r3+W9;Vmiet`|3ZP$I<&OqaT@tw4S0 zVV(#EHo|!>&@U8;PJ&Y?^i9e^TrUtlKLJR3jiiB~ZIWrk`c#tWEeos+2Mg+u)FR1_ zddoUeS0vQ&48j>KN%OL!P_wjiJqI|;7O`JxEXb1~z{LsDiIWK=Xy93Fgf<|!gicg$ zhpE<%mM z_!FVxe=jKQ;4Yy`#xdqZ*ZWPSigHT~45`~lz zB1ABLDxz+&d^Y`+T*)P6Kp;%g!uqcI#bkg`!#n{-c-LN>Azc}PKY4jp3(mbrw1Zeq6a!>`8YsQxjcIcnpG~l5@1Q;$V zbE3Q+PNmYhN6Pv1pa03+@p#AK?0Nuk9j*l``KdY2BG`mnQ!mM&88x8kDLkO8f zBqNC9KfyLJK4Dz3=+~EdeTb2Sr>2t$DTtM2r`ssC`6Jd8F5lFcxXhZQYoGz zr`LaKOSQvczpE5})8=*i$o=IH+_Ar!yjyl+t=T_#Z| zjz_8ivg3%O1s!Xzc1gb0s8Gso$x+&Ih|r#1t!V3!DxR+gNto)y8f9@JOiqm^q}~@I zPh*cK3BB^7iBvCbR@w%FhLmJIOqxE_0GB4Pv%nSlQX)mhWJ$x4%9yL4RBV)72~D1A z99UL?Oawxlr3C?A9!;`V1|1|N%4=NG-Xuo`mmu^2X=F@R2E8dEcuMX@FRBECkZq8{ zdsX~8skGuW?r)C~dND#+ak42QfDIA|<)tbuDU>CJuBE@B89St4$q^udAQqO7h=^7- z%sR`qCxceTF{1qnOI1dWX*gxH1i^i>w2;}JrZxW)~gcI`52s091rMAq4fB-b(lD=p_D`}XQ;-8+9 z6BCnm#zkA79{2);(wL@~h;7nq@l|jMHxhkl=Y(m(Ja*WS)Dhhy5sHSQvCcKDt_bCc zo1^-ktcGM1u?l|*(=Y||5kwSjr1%t#qbC6L{DsHIo6x8Pj&F(!i$JAb=J9!gsFyZZ zB*zKS1#b-??$w{ER;!PK^V+)9*ZC^6c%sbs6WhvYfsd_CW1VS&*LRaU*RQ6*OB7DF zmuwYpWr|f54tq3kL3~HgKD3pbsm*yMXDG_A#6#SdoWj{qIkN12HcSG^P{3K zB?exOa5owh|Dn{ufWJUjBl9<**%LX%5a@izE=;;>VZ&7@a=J9ll;_FVc7BBD& z@Go9(@bx#MZ9FZ&YA{bDqe2aaxJJ9CNKdGZ9 z3bZtOV&aVkUs|UI4QI#$EMzfIQ3CwO@JShFbEmc-3^ypee~@pGi&u5U;2G3_HGtSt zd<{Xq)jiz&i%a?^Ts%EpXrI1V#0#JP#dG|MUqK&V0U}3k zU>#Qv#os74tGIa>{EeR2a>)Wza{O7aJ$J&oztNlUS^NXgS3@Cu|3LVz=HV(p5xDcE z6{&*WYZavdN9sI$RyDc+8r}n|Q~@d)C|)SO#&bSuYjeJ0 z4G$0hItIR$zmXp@HqQ)nG_=%yIwATX9F{DlLdhGxRXp5%@z3Ar7syY}mtzMAU2k#f3zCT3$47?)xY=%4#nUuU_Ii(K|bQ^$`peOKQP)6#u3ua)6QtS z{{1m8AoS$@d_9?qr!Ror=;EPxVkEETU4ds`Pwb$-fALQ=G!H{v7(*S%#=rPiUoQ`L z4xcaW%F~xt!5LD);A?PqL0?aQ55A@^&X=}_VYfNeA?uB)i;swUPFH><`+;A~7(_UB z1059~@$!(A>FR+^Q{v)=XHmuX-5D|JeNPVqQv8qplrm8KL88G#bnq`ZF3#_yTU!M@ z<5mS#3Qyg5>cyGMPz9ir`1qIj`6psN0aA4jSN{@FZe4yN{r&rU5((5rKb}F0pQq8_ zU((PwD3G%QIu{?rZpQ#k_`ostr)^;p91rL+FtCk>zb~IN$UjBSii(C{DF2cs{>9Jx zC(;Tz{*(NRi~alidei(^$bz+KVQmTenqWc$!!C8LIFDyfd@f^VD>-x8uvj&8Iqw=!%lUk0n5`KmhpL*TVzC95|s- z_y9XWDtRbgKqsfPq5dX728?-oxca5~U?%+U>W+k9ofhB)0fbcmyPpT7hNna@O;#0v zmsSV>yf{jT9}Qky2+e~m_XKl5wA5e_-9jHyL5OLR^j>HeBAPmoW)LM_O`;Zn)b;dm zhg^e_;$mWT6-YE3(4P?4gr(v?xkM~^Lo}b{oz_7jLWJ<+`BjLQ4W1uO7%{kRhf6Pc zHtl@G&EyevqfP{D5VG>fYa-j69y-uPhFTFY;mB3*gCf20N5)eQtKJ70ve{%sBmE#} zv$HQZk<6@S6#AFF`=hJWt{K&;_QZxF!}zH-jiXCSH0G%@lqji?P9zFNrmfVT3^(V`cA%wUmwk8IAd+E|Rkw zD&7bI0_2+phOI);FGIO;{ zV!(j@CPNB3kS!~G*`}4Rt&ik-#==L5z{Aj{@!W-^kdO^km0cpMnS_myZ$i&9lhK*1 z_FCkaP?RqLP0<)H4E09hoj`h6OcfNyqljlT-#8%#-|$m*3&OFD$0D>9LCO+?fzqC* zYCwR4IO5{c7rpeiH+~P?u5JPsFx1=Gil>wp>ekYoq!LdOg~Owx$1C8`WR* z>XC0Qbl6O}t&NHJHEv4=zSTDczw4dfBfV26Q+P&r$FMH#JDA&c?owY#G1S6O*=Rq9 zC%(KNUl^^pL$JY}aB=sqgFmCe-4h?J@mJHu-7nAu1`+;XheK+Tp(=;k4pJ$A=HQAE)ecoI``4uQMKmiJ zfb`j%w1hkSC^Y;E?Wp+IAp;+l8aD@EOOP1_1CWdZ)id&M?Ft13Ll(V_l;!1`+!FGI zXTkgeJ>knVV7~r!sxX*Gkn?cDJh_byo$6zRb-R-Efq(HDQt9|ySp^>|8n}tV5kl&k zF9Z{t`yJ$dDE_U#;t1faE5v_Vufh{opJov7B< zptg!KZL&^PvWtKMZXEf5#`&&b;@81KZU*1#>VE(f8knOIA09>*Ebd>&3!H(T*pArn z!76CLVfh=Y!}f>c=j#a#3``uXPKwM0P66z9tO$#Y%20_o1lXLt$!%0{Li|WzkO_2= zb*_40WSqhl5dI}pc@+!;)bPvtd*KZHd;3QP0c0^ZU%(Al6=@aBQJwo0+*yRZ z?1MulSb3|Te+P^*_;*mPY3^VPvaMotSNwCxnDQlxN`-FcW(~v402lb;c!a$}^iwj_ z1Hgmq$>)K!AK>d#mASySp)5Z5{KW^w27F-$Vqd9147O1c0IR$MLG0i=a8Q=OQYZ!H zzzIadU_7RH`GR2b2+hGHsPd&uYf5S&@e4!} z#b?|ZkWqG-Sr-H};{cE5wg+UXfi_Vi68McTC1T0rEoNgP{o-kBW0E!9h@YM+ z#80U+H_{Rui1wkKNbVxOt+1M6VthF~eVe@zU-3`B&c{L()*>axY{Zwv^ZE?@8YF&I zI3yQe%x|>uPR1;&O@NA*1{C&Gdb`Z5%&bmbLfUoik{;3_y+e42DZNA6kj|MMI)0xM9x z^v_FSuKdSid1+p?oS~Eb=+*So69tX7G$Pl?*Fg+i+YAr1PAvS${Q<& zJWlG>l@|!6GUHD(*IZ`{qI%MzYY${n69v8 zy|i^+N{sL4Q>7jqk55ehC_Hnd6`|SaKu6ftWkHIXW1=Eb#(nqeNRJUUzrC|OE!{tS z;lB9vJ)72@t}$`{%R5@lbn^@F^BY(*p#I>Rd#cphGB)G4k#BwR@{WvI=TEO{di%G3 ztfyLc`MTA^3p>xB-EsD}YoB|3e74=4yGMTcY<%)R9$g*R3x+*9dcpPjv6Y`sITldt z8x&u4q;mb(<$a}v&TXgFnqfP7q5F*N&CB;bochnSPE-H(di?03$3LIGZcW>JU~cgJ zUAyjG@&0mA$HtHU8j`kln&aXm@AbPLxVL-zsNszh=4maSx%$WWD=Ur#Z|Hm6{9&81 z4}TiDd-)VFH~zBz68CcR%>MHm%>1Esl_s`;=T6@Ydk~l$_Q#C38dXi}@xsGDe;(Mm=<4%X z&yQ@K*y7P^n_H)}7~!>dxbN|6OP^lR%d^|(jrYz!JN5pSD@{M!@ygG$+N{iMFg9nz zCncMz|Kd6MQosw}#s=pf*go>sy_3lk=dWs+d3c`N&kJuA@85ClXM0k__2)LS#OvQK zKlgn>R*zPXew+H(<>jldK0XlSIX69g)QR2U4<5Z%_W?Wne8=NUx5vHx(cZJWE;gB( z)%AGc>gTuLj(J#EFDL24hOPffICkxws>eJQgpF`H|MBW(W0NMW_1;8@Iji0O#?0Ma_q|-L!H}~XyZ%z|y_n^@{8v_6;abxx z^z)HZ3Qqnw=Gp3#R$spM=!X?U&wP>Cb86k@^LhlYPFT9^@y(N;4k@^LJEZfJt2H-t z+p0|YbbQjl32SC2?A)-ap#9IE^_<&cWwpSD(`rq(+5b9F|M?%oZ*RYw==$*sz8fxj zJox7J4{X>eeS}vEM4Ui#6AIx`zb&&Z^et^#$=Qu4YUKeWCeB8;>PjjIZf6 zd0y`BC6`Xbr>?1~xSxqC3iMF^oDjDC!jc|$R$BXP`DM@3tq=4Y;(BF8wU^!Q9l3Gf z$k|~PY~FrsWm5g2n|A$pZ$eJc`IwFkz7GsencZ;N-+yk&sB!%{ zlk2xrqPMSpdu+&*&4c&Uz8UuZ!QOSwPgu0!uezVuo{Gv{^wpB0HLX`Kd1FfP#IPZM zj(^a^;(F?9@zv*Pm)NoG>>sv%kaDeM$i0hej(7%m|C4*~zSlbeo2st4^Ks-0@7Jvv+}{7Q z2@k8pKehCQ&xg$2`^xBDb*H?%XVyn;%yolL<=nA*r`FwaY<=e5^@|FBN-myw>&nXS zZ+yANb4#7=7oty3yS`d@cf)Y#pk&i+x$t_N*vlGe|6Pn*|vuyG45?9cN(Rt$UP(0ko(|1xLS zKli%6x6!+j&ST>d8O!W-+{_jH;*dl{&&1PX-d%5BaChF1H#*#HP%ngiumf~GxG{Y zy%c?IWzz0?Rla@usjjbm)wyPS%cogCy!K_ZwU_uC;e|>~r^Fs{bTMt?A)GnW+~)Dje5l z=Z=!YE-9{8JH@(>9$(+qc=xFD(GwF+efB74S;^fKpV|(;ydmk2Wz!n%-uG(B9K*`& zjrpHkYE|{CnA9;2pQ^)q3`_cBWzF}SUvxd?9(wZqs+KqJ{haZ${b8G+q+g~?yL9c# zMLvBNyWW_#*{~wI*loZUo0hLj-44qOJU;lE)n+qBr@qfnn<RQw?vwAmKRkT;_p7Q;TKeypHF!P$@s=d~GtB>Y>3z>Jzy=tm|mHG+R z1-~}pmUY79ZQ|+$Vw-0~5vU+nj$F2QEvr4))dG^foi}mN`@7X!PVh@kEQ>ON4IHdb~pLdQ<&YPZk|9tJg z_HMfK@bdQ?Ppmo`-O8MIDe25YL+68M<9;(db>_9yb^G3mid#2wgL{Y8Llcf~o%GjV z-Rf))HS~YB=Zhs>yn7d)`p_#pGUw;eH@5%femT)_bNj5%M=bv-v1i)Q=$kY8>UCWD-NL|IeQHeT{@MLebbv(34?R)+yObQo=iH6v zKSu7Zp0WJno{!#psY&Y=hCc%S-gc{6+?NZRzWC^!JAWrH<3P{vZnX}rSY1S-$ z(T>-BcTf9!)}Ht6TfXUffBtuKO*gB(c+TI)<@M=JPJ{-W{_?GuH~L;m{=EJ>wKwj4 zZLqy}llmV{c&%h^or8Z2-^N^XqP^BF>%C^xLtFOOZr*>Vo0re7mezCHf_~rjId@^) zV(U{aX0rJ&ADj8gJ6|RiJgVWo``l!&uX5VEt&JM{?(w>x48Aihx9+xf+t)T3HQxT) znVkiX=X$)?%8+aSr{_O!ykm|%xv#|sKOT6x?Y2+j=ASGn>iSdb*fU+1R(ocv`AGi{ zSoLu|L(NS;3Lfz5?sLmN_U^N=+SLJ5wyro*YghBOiy8%;YhK)DeAC*?c8vGkdFO#4 zZ||azJ)Igf{@|f&%7D{_bG@3q3qGHc`1!_`N4JHquzff7wlVfxhk&BGISZfb81`+{o6ptzBmB{(kj2S0 zCI-LIx_;lFPR7B0mu%Ngp7VI;weUgyYxec*b@OcKow?Z;BKol^k1m-TUyAxyi%-3F zc3Cz$;9cJ}w%4Ek?9A`G|FZNN+I{M0la-GeTznxpCVSMyH77_H^uK7B;i@oQ+=% zijLiXYgl04?FYRa9gh55Z~wW&bCs@p2J|tVc;naQlizmRQ+s0C8n=sobb}#feCI?| z^M%`*C)X>edo1L`kJiP1*`Zc3n{+?0-p=H3+uQZ}e3tc~p!2<_YAkwj;OB+?I#m1N zuY*H3wK$#-W=ei4___R6@e$rLdvB~&9CmE(@ee+!Jv*<*G|Tm{3lqQj=3mdSGmc zS($w)vYB7j8(xljC$2Z2*?U&4;@jI7IiB}hx}j*?*XQD&pHSn?H_z8Iuk>tN<@cXo zYhN@!^3(ID-*?*O(O7d$<1bIe#eX z-f^#QtOGs2`Y!z24VSvDYIN)qw^3DFpX;(cV@6=F3)i5^4%AX_>T8oKUost*ZEa9>^BF$8T%q0zr=l(_uQ$lGe3Xc z$i+|}gO`FlV4>h^QbKQ~~}ofDhV2c+IyZv1po%M9hqQ4ii4JNDa4b6#z5 zY4KlE`)phP>%DW6lQI6*{tH8HOluQ3ch`-Yo4t1Zkrui>uiMVv&-U%$dbRc7tc=yW zlX~B+|FQcgW1jlp%>LL>fBd|x&g9a5H= z#V23w+T-%VF=w{4Y*92Pb++HB^`F(495cA?fE)nF*P49g%b>hNzs*N_h-v7Ixocu*;Hxlx)y7sjd85bTkRKI+${eXGX zy=LE7+1_tg((5;W{AgKtQdu3o& z##8en6Bo|<(YN`b^W%$NpIyDa5>V%Anag%SgnZo;YjsF8=-3qct+K4Aq_u^t^iZ<+V*c7LR#< z`SAtgM*cW^=I%2g?DEw0$Je;L?lb-1;)Qt{@g`}TA!G8 z|LYrv_um|9oMW8-(ecZdKV27W7<{`${lN<^z8$`E=O)kA!S4=dj}`C3O9JgLcD?ZZ zy(9AzTYT2>#HsIhbf2_kLyz{`&F`?)j@#j#ytei`xB70z`b{$&qi%j!{rX$pJAch6 z^uA=jbU1tS9{&~R8~pN7f$_yT)BRjdjhyku$aVde^s4<)n`gR4JdQu~+0fs2-}l-z zaE9gX%fB5R@_X3W$s_$zdk+4H_3St5?+a~Djy430tdsvtZsK@j;mqMK16mcoVVL*( z-D_T9Z*1x2zVYpw&&~>e1o!O0FAqMsG`trEwhrFaFsDg}&=bWozc`Zp;hmGyhnB1f z*!_K@Q&lEcuaQ~j)>?DDJ)it@c-_|r{+x2KVLg&ft5=rat2b`S(%W%8 z58rIRv!_?ck6+tU=m@fFOuBk?i~0VC^U_{DFvs=uty6G53tQQex4dU~D$STPrgPvRAXQzuccau$%Xk zA02P3*f}w1=a}eCU-kNZZRR^|lK0%{GQE!v?yZo>egX%dRcEPM;l- zHLp%k^Pj#qMBEJAl$XlpPu>*YGwy?nEojl^P7~>`sVV)q`S3mf;W7WZSH zJ!_&C4|=+VVbXvN-Xos=dvNsV6)~BMYX-d-^Had}J-h1Hz3@kg&!hWIUhGl)@|l+w zuO0Tmzut!*`QE4P?pL+GFhBi^uTyU&)G=DRC-?Qcsm77ug_VO4{A^!lgM&)=ApMZ<>Wrw*Ezl(exV;#T8seQ%AP7=8)f zN?ZKUaFys4O<*MqzOiR(6SvR>x7I}eK4POXwiy(1?{l zO}eoE;p;2EnfG**dC_Z$uBk)U4qQJW_KU2ES3=kI+S=vz_?&vH4t&z$E%!Gzl)_rGzWHfX#L+Xy-kX%{H)N1ULDgpYGp8L}(D>EI zZ{rrAQfvL17K7VAc-^b*q(AF4z53$e>#Hr_2R#4NLNGRuY0w(JovErvJ*aV!Pm@Ok>XO&?Ck^RdhT1l?QYFU zm+z20zS6JTOXK?n&mG;X)6V0~Yb2&B`6*%+$dUc zVnc(28xO~pWL9*;A6yG?8JDEL$d*S;S$_#$&s zY)P$Zrxw*H?%`kSuVpt1_Rj5HZTy;78WgnrY4(wflg4|7oXF>EHyBang8g*omt!zx zmEr~W=Wajw*Q(9c7jL|F^O;NbzxQ{qI;-m8b)HQ>2zGI)=ia|Tu)TNk)-QLrdvvi* z`e)f+X3eNMC1c8fy378Y_*}c{E*~_Xb|RzNoi4SW+P&^*@WWbH-Ws-M+WQ5~&-fR= zaz9~s`oSfQV|@T*uXjh+ym#{E*Xb|z{Cs1xj~b>uzA~@PyR9B|oY3p!*DsxFn|m^6 zOMrD%tv$6bjr^eTzQ3N@tbF;ey8Yj)T7B{g#IL`8wf37eQ-Az4_rkxTu8m5Mxmmob z)`_^2D?I-n_TB=js-}GupL6I2>5^`ckd#(HIu($RZlwh&38fJUMMNo4FhBtX1e8_; zMM6p%X+h~yEL- z!);~aTfNE3P@@UkmxofT7fdgkQK8HnYV~U0m{)SvP2at7GC;%&_wFIhrP~~u<*EW< z=U!P!o&j{qQjX8Dd`f`oe3wc z4_4+fT=Nsbli-Uu{)wn=s-+-CE1F>VO1jddn35Mx7>R<`^buv>4_Wa)w!bMj{;FI0 zXd!i{e(D%wXpP6L@dM*~Viei=vhpc)hNx34M%i{HdS_UJ6kgB-q;1K$8F;oNJW!%= zZb8>ceVH4KU1};W4BD8cx5^M)?|V2tFI*eNaMYS?9M9%o!IYtWra;2$wIYcUj$B=__tTS zAnj)r;fCcgXRj3c)yo&qTGL+9xZf_+7352uW|lLa70F{1lr3%Le`T9<9VaaI43y>B zN4|Wky_i)0`4(Tm%O+zInhI=d``wQ!nz!6mY|<#GdC?MP;K7TTujcrovW~0klue0| z4|9UIYlU+xU-ydS4)ad8=-OI8u8d-!M(G@-82C=+$Yx7#y$XygF?2agz8mLlul8S3 zqcy!`f7Jo^6zi6286dTik0UYXB2Z}9GA;DJVsOXQMO|Yo%{o7;Qh|urFmH@#qW8&h z0n-5|1&VCvW%g`A^tW{0umOs!A$Q#Swa$b*V<*~s1)e_e)qpFq40>3`qG?GYWP)Y} z1xtYwoa;A}c_Tt6h%=N7UuG2P@-!sstmibOM!C=IO1fs- z$`JJKD7&7<{yG1HQnsdjM5ei~${x-54yaOrG~G)IGe^9vRmM^G$G_yw8(%ZHJodOA zU8nC-n8K;Hbp}dlqdp;y`qaMn!@Z7Qr#suU#8ZG1R!cO)i+__llk+oWyQ*SX2b0>N zd%R(Xy>=~zYA&{j=QKLMtCN6h^s(@{oI0~Q=1#PdmBza0dXeNPD>G3^93ZN)wxKng z(#1Nbkv77ECn{{am1;yWbSLoeieuY}CIJD(u%aUk#@S|(6cRFp)jZVVk%}e57q3Ea$vL`N;& zGXjN7Vd9i3>D^EsXQt!+D*8l}GD|STNsFRG?NujhDCUsos>UIT{Z?#sFGWdb-P z5ry)E3!TilP<^%jI}6_U>pMYBZ1-(@F%9cqg|;?IfoC;Yrs_?WBx-gC7t|QW^foZE zzTt^W*pu^mi9Je@OE8T6NMy`UK)1VN*?vd6>vGXH%H9O@=T7%_6T$AuRwTwyGx5Pj z9X6D0D?Np6N=`{+*Lro@Xs}V3M~Y$@7E+lRPDiF>#=)wmC}rIh+L%R{<28p{Y*VLs z*GFXGnU}p=8-9(vAmH1cC=3Bxx9&`JB!pjLTO*4dS0xVBGzIt>eqPXw6rqEACW)8< zrvsWOX+u39P6mCXY8Cejo23a0u=eWp`&g|mMsbE8oj_>ODTSKEeG{d!xHUAI0Pkt6;8&Y=&ZJMqa295d)oToSoh33sAh43#-V5?`e*N2f4nW5 zU=98nnp@^d73?!QPTDeGNfvYHa#J)@R$#SZaEiYVGii6Tg(3qw*4XxftTp%5X>!(xeG9 zLfu5RRSx_}mgk&Xn&!ZAdP}*Xo(nd}0oCCb#IC$AtDK^Olh3FXtz<1N=fWJ>bwZ%= z)?jQG-iO14AgHfs?xduF&O0SH4GLZdl(ldr)=jd`$4h=mI@U;~SG-4~L zHkF8jctHlKQp8OYt%#@3agr)RMK#tZ&Jfjv85A{Gn?6%6T~P?yl$$MM)u)n&Rd%8A z-KhZ7UUPl!>ni6FUC0H_+}Q3Y1}WB_6n6avv{Lgz#c(MW5uT8ns?x{RaH@PlC1Rwp z4d|TM8zN8=xvYZ179yR>KX)}bST94$wx{#LIOGL04h3@wg$1=Qo_G?*p7Mn4CXUkJ zYBIK2IVe80nU!lEvsKnZuOZm+J$;Dn^U(mQ$Do*OEXB%1{j6OVHfo$S%!@)xh!4#r z2o{nS4x5Fyl$i>k6Qpl{ylUXYNYqh^qeMwm$4~b_tA~_)kybz#by3%~MI%<3hWq`K zj;l>Bb)SM}a2AvwaMhc1p`|ZQnLLm*GYeI!6a-IOzginSl|HlGSBf*XVo9ptmV!<9 zHP#^8FkD84@v=!Q+%S%zlGRY3!$LlC`NXXkrBQ_+qN#ghWS-kXC24-X5R#r30({TU zp*mEwO5<>!ck{h1L_c8qR)6L(zkpwkIu=WUmV%4M(v9b!Se2n%GZhW1g(Cx(LD}NS zhfrdd8eNWzvw~}1XxQc31`HiopAqH^b+``2a+ZGgo=&2=5dI*u`DKy2yCO{eWnS8QzFDEmj)Uc^?6@he_ekRPXfOt zg$Bgekq@JbvvE8xtkCnObJRKqmPlHwjk0iEGyi46_oGr03uiFIh8r12Z$hNO{F|e{ zDs?`NdSF8U#V|O!)&|^~6=1;$l3D@2}MnyTk+8+=r819GbW*S;MKRhCaGL=a^?~y<+2b5Um8)Ru#??0VE1Piu;} zh_j-#F5BVXGsd=pYA$7{u?ls%wlUVQDv&Ou7!c%XJYEN-soe9CX(}^N4~Ub-awhft z6*zM4C`k71w-1_}BhmWtp6Bz0xu*iT6WVjD58Y$UitUzg#c(<7p6fp}C?C~95Mw=t-$XY_ zf@ORtljAx53;`q?R1oRB8Mqx`aw5;rp2U)Y(LPL7H<1gERWGlHlAaepgZ`Ltx9VM= zVnWUGkpKyfgHhO4Fl83-snS+?IZen*yqSeL64J5o5F`Z*5psSaP@i{H9C?Cr;aFEk4vC(1g5X z_|=bNz$H~sq)bY&H z)Xik$Nz4)@Gq)U*u~{MGMu~=>!dbGs#v((L!TTmiY^!fh!mSE{sBdCjh+Fyolkpw# z1EnRXvZeGTVx5|qGb)(a#AqA}BPZc0yHe!juYOoy?bUgbGXgrOD^Fv`?n&mU-1~Wq zL@qPr_5CuTte_E|Cd;6?u=EAKBytMCB z50rmB*_fg=^X_)dvzYC7qqW%TMUCOUJ${c#tKa*gzb}|}nm9ZsmX??%zwRdl`<0(% zfz~?SB}f20jE0Kj@G7dV|D1rpyggW?zEwma(t?1uc>auDQ-WTiM+<5 zc)Y56bmg68SDn7f%lcxL+oe?v>wK|Im+eRwcQ4_&B|eQ-jZUl2 zBKk27U6r1-6}zKike##QpZLMkTM9#;8{ctJMsJ<(R)8X#V5%E|bkGcwqNre*M4u4wvSWLV&Y257K^SBX zZV(xV(OVWMwG45kuSBkvcfB3Zeli6W9h_TjHZQT2M9gqIe2EWX1*?|?(JFO(uBX{F zm^y{szwTh2cj^7MSd>KcgHupy;W4J@zz#~b-PcigvO}57Y2M=8SLPlU_O-$u9h#cJ z=FR9c)zhVw>FTT5GntcBbI@m`P<1L6$31yR;U@#-#}=l9ZtyZo9-%3) z(K%u5J8x6E#0k}_jQtk_AK!C(>wp>?T<(a;EL~Cbol=kK7deA4jg&q|)YgjTYZG4d zyfPg#+`z*`Xs3iG_4chEZp{M&D*n^OUOYsCbMj=zPPsNtnoWDI^twEdDIa&TY4YZe z7&$DzmH5`X;dxLgRk1O)_ze$rn>ii6o9uPk#)8g`fi12HTUc5-ZiOtVZZ>PP45i0vs9krDxAdXGX06Ah>d$!e=?#LIn)V??B`O9X1I7++9j z+_-V}Rx`t+#3w}2Pnc|cMA5J_lGnb^RXNOz?5r2qA9KOtQnxWP)7DiDQ)OXkfBD)z zx{;~ah?x6iNk6Jsg64VL*v{5yj_HTHrAya5=Tcb?*92=f#nbJ+&wSj?eU z(eUVUuae>s|C*zkwsvd0t0{HIqjGs`ijr5Pj#=NO{gl6(Aq4vBu1^UZ+N+el+I6Lb#_8b=iVH%%JE+r@-H@%D*Z(p;>h>|o! zG-`CuF5P_|Po9C1TNK}HVb;H1y_!%s@3BHcayi7VRR(d~5qBi;oahwdrL!=kAj*l+ zVtXOIjJ@grB(+{M#0q|CdIzQ3@0jUsA4ILMy?ydJ$z#HTln*h}P{PcgA(Ru4KlxO# ziXbvV%RqRs7^BwpT&tBA8Bgz-+E{N|upOQ-IQYxweKz=%t%P7fak5BFLx zmFB{Y+l@I>jn<#@c|WhJ3xO*^-#&ZVuAv-9mY{dwq%8MGGt2UerEAPral+I$+bWWz zcj=x<@s2zlNDp+3JVDA5)-_!V2F`}bvBX;mK&j(Y|F`%bv7-;X7cu5&KeP3Wsk|7R zu$+e>)&!>1F58_w?_XlloXcT>><>(rc=~1SiM$kE$|MYu6Pz%PGFpXF`h<_mF|%hN zYQR6E=Q7m84Tqjjyv!L#a3{QhHT!T7o#vF+&11$*{UJ6i7ZcpH6_luG!j?WQO<%UL zf0x@WJ|TgoA-ysuJ0rqOB!gqMbvU$7$bhjIS{A65V_#0t#pK?+?yoiT?Qm)Ai&SbN z>m`OGr(=~}c316KBgYUk%`sv1Fw)Yyid1Rd=KM@Ag43_vg~B9x*j0LVSru|3R8*v2 z=0x*Nl~f{4Ui5Qp;|)vo1uB&Sr>zY9PMcam>iVY~eyhF$SAG12!-AY~ARF@b1Kce) z;JU-Fz;+>wCFQ=$2hqK+iOdcWLI*|eyL%7Pnq0(>dx|FPN`;~#u3;?qS4L~$ zuW=q-GzQF66(AuzU_hr;^0UC}$q#pkN*&*#7crL*PB{WPiPk6jRNKr{%Ga@v$3^jI zjg}Z%3KGu$R)5L$!y-!sim2;!xg*H}a zpKT=c_dI^X;DQPZ=4ZudJxj^v!ebC|lXP4?!l+nVOihsQYRNp0a{nWPrkN7*;F3OL zLQSHYZc+UKG~K8l6|w73c8h6hm^h!a=L9R=sQdL0YJh%>JCUJ7JoyO6n#fRou8KX$ zgrfM~%{8<9nXc|tCsaxXuzkEcz=TJ0CDoTAzlc~6=fxAhWnm?1w<4mNRs0$tUc{nZ z`@xTo-Oh@PJ`C*G~- z-0Bd*MI4-Z)Z*RPBYI*-nicKXtKUn@pnn^YZj_*+q6!YcN2ZC@g#osdjRim_usR{fF+NA-2r?yvx_po#6;^PPG| z%gxi$ZyTtUeXUh)d*YuLQ=$>Wwq`T(Me`ewDYcf}h&Zyn_itR2vYOT!2I5!I8o6}|k)kLg-mRC4%g9?;iYt-L8@O&#gGg~Kuqz5k#e z(b3#NCXw-iz8xj$;IF*&KgC}D-2UJv!hAx?RT?`_}C|{1>AL^rrjWQ_2g^nO?g5Sxie_BgU zKr=z{&Rf@hyWES3Lf=a$=Au=F9a4?XP%DkyB|qXis6D5`fXio+e`o3YPq)i{x;T%2 z2(f*8g-t$W#HtWIjFh67z428>m{pZb*+@E)UBoO-x|F@HsOFYsf#${r zQBkYLHz73&>!}CPM?Lu2Z^!Y0UB|O?GBVuX7u-MQKu6@1r<73Gz&>(Vg>#maZHuPH zN4&n-4!Qw4bfvkE)I@gJWholf>+NQjzELEhIt@7a8ab78YGf`-q`J#Ff3U&Gd@NM6 zq=?bSb`-=f<3%TYy|yS5t??>U&}=}ulq7g-D?I(Ad0g1(T(T1VQz%wKyqnWcYc~Qu6$*L9XK1O^eT?kJW5bx)L&AZpXopHzb@;jam`6smJ6sk|q2Hzl5Kr=cV5y7v$ z&TC+2U6J*j^7ieoT}=&WUg*(pk?H-$-P_p&@*U9Ona70Z&SID2B&D3GG%m#!u=9IA zy&2j`U{7pGk*;XPryADd%{~xyf`!b=@d8)Jc%O8sME@gC)yMc9UOydoIjUQ8hN%JB ztsQt0+GJU{)~$0Cgmv8?vQ~dA4=PuU-Bz^HAVQo{(ualOHaDK370l0ZZEh_3pYr{5 z%y{nSrFh>@w}DE3tHDtEI;BIk!m)7M>Sm>zuFSX2(%RwT3KC3(U{$e;gx1`N10nLs z%+1Qtn&;CK-$6g)jv(bw@@ga1Jp2Z8;_#)k6AMQ|{dknZpb=JATf2-3yLXYq=vbnY zBRjjuV-ed4&h+y0G%zul>2%y7Xu@`Qg-5DD6Kp@cF$Xn-!K(%tnIv!)7gUs+U#O|zq=~g5 z&?a2HH80Fx5^c|<6YfRuqp|#<+P70DV#1Cq-+%G=+LL#IWW-cvA3aJ09h!@Yw?!_q zljptlt*0du91tz-(XV+W?PjeIIzOv>*C_CHVkF-J#hggx8~s9WSSUox6>e|9Rf-nEBAe&0~q^>+hF1?hcP&n>HYx z&>8MEoONZBFUrS7a%{rRZT1JalWC8Lk@#he{`kb%i8Hz)QEb{=r}op{s6%}a3bi8k zukmvpn)5jdVvqT)#lQHm=k3g;^nng#XU*9=boeMMRQHq)Pb_5mh+LQ_HvK-|Iw>fI zf*UOM`+hg`T)JpUH3k=aC9Y zv&qL^c!)1@ic#q4lO9=(M@xbj!6C%e<# z1FfF?TA0k~$Wg5>R?}PW`>%UdZBl(I&pkKZn>x5-{5kwx^p@188_|870!o#H;bZ=) zp}fR52zQBZ5S_k~;eOg7wu~H0dwfHW4shzYa$V&JHtXG?2+}hWyU%Bf^GhL-w0)sS z$6fC-I(^8CiOP@9*<{3Eo4MKxeQ5DcGTX~9(| z@9%Y~{p^QKD$y5fKd5JGFN$Qp&!h4TF3oQzzUIW`qMIdtvKXXMT(*_(J-*sy(}uSk zRPBl)ROCm!H+;D*O^}i`5+$p*Sf6KdZT!>x%+f-e&si^g&Ewjrw#C|?S!8Lg*S`h5 z&0=HpAh0R7tU322s&;iL|5eKLOCjs`>RTBlBJf2xeg}0d8>X+BABAJ#8e+xiY3`m; z|Ni4sgsEy+geY{muc4B8oPS?)tnG(l!1&foqvF!csK<7@!lfO2tKemv;2#&vw)lHY zUZxmz&9G6w_>f&GK>Ehx4!ZDWlr5{%%vr9SGYvS!Z`tp)eQD@2QYJxf37(L6MUshn z@Ya)v`q`%G!rVtCoiicNJH(gK4Sgz}wnoxL;l>m>0dg;v!K`6f-V=O#+?r*?*WHVe zJpeCT26N>QzK9@B-YXurvzNr%!$h6)aL=6fSB=l9h!!3lLfs@d){klnT6jbG%Ffuk z7WYb5#M83#3g(`4YS`+0;;ot#)^$W`FLE0@Myhem@FbIOm4|S1GMU*Kaz^YVNaUiKG+mh|H1)oy>g|5TMJ}Q% zPDw!Y=W|cfH`pe%T@X2EaredAM&v@}mfUUB+d7p*STF#fY)UksJMl zAKF@(=4gg%PC7R5^Hdjo4LAEPQ>9J8h)+O%-jmopLNz0u4}IK^AnJe`+npkcib(v>JWQp*p&k$kMy?VPEipS^60MW;gLrjLDG z)z*nNIA}?QV~eg~5WYWR?B6@{f_nBc$Du0rjwqb4h|%)nS_Ltm?NA{}_!Omr3Gu_v zlzchJPEtZFPPHXb(uN9ST4?b}P$(eCAxk@WN%wSjNn$>Jw=GKgL_^}84!lIvmqd?- zTl2f|p5pZtczXGplvQ{hENk%!pf= z3q{i7bs3>a=paD32;VJUzrrMYf+hGy?#LC#p_2J#)n@wQC<_{;DDk=N#Cr1+y<_rNd-dcuAU|7`kv@}yMya7czi^C{w=u`_6vaJ2IzxG#KllQAnedXv_5@l=hN4+RF?D?UZIL3vv#c+vhGRCm4rFS{y1ZTCx1*YgUr z4!s3!Bk#b6k@uiu^aJ=f-U+%tcY(gi9`I?Z4~)zXf$=Y+V0?ZId|ns_lV2ym^tUN6 zyEFs7EX{$hs|#Rp?HgEHUj!=~%V2GD6|8TsgRSpd;QP*Zu)Dhpo?yH{9VQucVM@Rx zrW0T=n7#4j76w2Go^@g734m`B0Exu_JZuM`VF`dv36V8Jqc&c=9A^`0V;dvd6@T8V53V`Vs1(;z2fSL3Hm@mlyvs3~w8=b%F z7p8*v>=0iB;=}Xwi*+DAENjUH;s;OwOq?jdWEud>Q!jw2Pljcd0L)b9U-(!MA08Cq z3D1&9f(L;V!&4^Oi6K6m&luK20HYuZFct;?6X*pnH=#2Si(3gVTl3* zRzxvi%>V;7yf9!h83VRUFyKcg<~Keg#2142iV)ur;@d%dKZqX#@o!OJK)xsjJU76A z1}_X~PsV_u5)7E{{0ko+;v+pk4e=QvJ{!d6hWLUIUx5MxOhqxk%K!rsykJ?$7*Jb+ z0Rx?X;s47`;Xh9l;h?}lp>W7K;PC%{26i;+kAQ}==6?z#f585_B>DI7%L2Q|;eV{A&!My<7%)OOM~dQjTFSQQ%)-&>}f3dV8?8rwt5F+wNWJ9!An>{|SK% zrV^^TdU!ah@sc7SC=>~=nxlt@t12P9CjSQn3Yf-h;o)H;fs2411bhh_4-a!@cuV#- z1f((CP9CmG1P71@F@dtHhZ7gP`?E;`2)K)fJ(B)Uf!o2u1de zz-aB^gf!_lJOx_J+SS96@t+`nCD1!~xLS*$evbq6F@nM1H~8PC1d?iiIpO^Y10|X}WmG zp;72x@RlB`d&wx200Og*isDADk)eSBt>$3?BM2`Hk6Qc<@^9ghCd26sR~&30Ec9TZ z{JZi|q)5}y@B!c=Ip$%5)QN*{XfB0*_Yz2YA8%34X6VM*9%I+9R@mw>OHv`V)mZ^{YK_A^zj@D(u6H z{xKFPl&yy}3JsSf`#<-m+5QAlLf|=n)x6iA$b{G*FE}~&!rt?G$RgL+d$SB#C`f=) z9*!3z)JO-N{ri0I@X+EobXW%|-U(+98ii8xu!L8?=8uAh^dq zfR}sojSYoj^zabh&)|e$PNZiJz)cT|m+Cl*7$n}1aQAmLE$PpBN#5~ z2TP5>+CvZKBh7&yoj{@3Ts?kuBBj(3I3g%Qen}ZY*ww#+l7}l?M8DP}^28@ST)7W2 z|2gJ#-RqG3;^8+cV0jiE4*zyPp|kg}gpK%X4}~SN{QLci;UD)ac&6h1et0mLe`^t! zy@w0ZR)m8-2s8)+>=T9kUit%`K=EJfw*VmfISZsLR^odDM=2?J2tmRXhm*n*nG=7o z>U)(SeMfW>p%-1i6Z7;=x7`~D!V zL+-J1-~VGAhNPo%-~aE5>yYyPMLlCk`XB8%Xy-xvkI!@PoCnW+&=0@+rS4Zh!2~Xk76X zkWdl@5=&!1((}0Aa%tL&WROvHKrI95# z2AD%Y9?Fg8P;Lx>a$`D_8_S^F*!_pxNCg)lyFS!2cmg1w1b}ui0B0b+(-Hs|q1+h< z@$W$V|H`di|CL*z-1&bUc=19z8SffDAS(72FHLotN>AoU<-fZqdR zkyg{UveH+TIt=+h#)F)_m?22`itKI8;z@IrF~?NX@K<~ z(Y8{+K_Mri?gv~HiK>+-!agB&!#`{>D^+6j0mY<8NMaP@H(Rxq%F z+54ynJ`C^x1q1p08YuXztgIMeF72M^ibm1UK>%i$$VZ0MkLH4xkfgI)S+OC7uvu9_ zS%L;8!UL88;6<@oX&iwV5>{4XFdr>yWhD-K@rZ^MD~caE#8uj0@4=*CI)Z=H%1RPx z0=|J18gA&2=Tky%QIh-lXe58Ht;bc-umTiXZ;wqz|H?nWN26sSs|oXQVYR>TC6M}m zmNJ7N4R9PjFlBq4hki!zgIs>{dfCx@nE{Lm6h-wg0dP? zKR!xk|M_71tWMAq9@*;{2#04N4Zi{dcwqnRu~aZ$5$3_535ODPkQK`w?})-u*G9&c z+e)99M;B(RKmh>qE!t{Wuy{leiTV5P>1MnN6j9|2A&ELItH_;dy*rQuQR zDEdD#_b&JNUM_uoM8)tg*jNa|135)(*h+ZV`hOnw*fxY^3qxTbFA|Ed8IV_Dfux6Q z401HcuMV;z$S(}ervK!306+E%A1Mnd6Db?11F36|O@x&zRieP#Kl%b`J01Lqz~6ty zx1a%;CFEOdi2$wbU%GaLe?fHY2oJ*nc^FPNddSBx0ECa>b!Xnwvm-k810F`gU*K;# zcKP6=dwO-X2>D++b)`L>x>3CLo-W7R>Zyjjrs|T<98}{_xUE>{ldhgze?mgZ2z;yrL zcoIbaeW3TAU;eVE>)!mnxu@R-OPYWJV-7?izhQuh240vC72ed$No!Si-vs1 zfBBaG>f8UX*0&#~#KoaJ40nq^11A;=O+rUU0=bSoUE{AjJQNMDvK|b|Jk)<|z-U~4 zwWAzVIJlG?N7eYS_q0C{1B*;XfeG1dk-(%VL%N@Vhbt}lhx&p*QW^)6F{nQjfLe`T z)CIx7SKveRT3EDdQ2$FJ4@ndnC9D7yj7)0OSa5UWMaVLXo*paz<2=w$2H3Ww;`Y;8F9;5*1zok>^5mDmM=^>gCm<~(+1&^yohX>OU#Q{u* ztO?ERm zk;%yaR*^HxOOqW802)tFO_c2rHufQQF*O04gJeimP_(?qk#RiEOM~c2e+Q1=Hro9gH-3>cL4j3@j*TkBRB{yQU+2M zQYKP1T^$O*Z@Byp2wfwGKUVnrPv{z{1=eqxhS-h|?8S&}7_kc@Hem^96GrHh7L=*I zvfY4p_Br4Ku`Q`1~a1py}RcFPXtc%c?_rt9Kp(%)*i_jFrhB~u24Zf{@1ql84 zx%(3UK}Z<1^x+2tJOPMG0^oiz0F6)}9bWC#(Bmp($eGz96=6r@Xk*#Utt zWZd*27vRYb@dY8iB*a&O`2VGA|Ft9kKVU~bM1+M!bO`Pgdx7j1Q9-OKFdUeu;Es#f zaFLz&cYqKGFh1P+agn_i4fezadMGhbAv-#X5>bMqn4!{}de5RlxF^;8b&s=u55*DM zy?poyO9Y;U80YZb7EOpKimH)!{55Bjd z^!eBKHZpO7yQeYDiY_JPCUhe9A{Nm{-*_^ABc-;8t0wlR|3-Qu@O9Z+PdWwM#^LjC zJI*E_7skvmzS-T$@z%)V^gloHw6Dyhg`;vZ^<)h^N4<%&mz{1HP*PG(h~U&Uanjfk zhQ(?KzM%q?sip~hKs5ZjXLR*RetfU4dP{8-MN7X&>T&Xv2HnxG8vQ3T!+w5fsA;~D zNYV7P9}}{*gR`Mal@-dX9o$^g-@hppHb}WqQ9%BhXTg7MSF|BA+A}DW^32)MW^&`I zSS?u9JZp~E-L;Dz?Ko1C5zg%m?n`S6n{)jFBtfrxD&;w;{L_7h>}|b>A_l3s@ti1{ zzY3<+ys%ko5%VH80(U3^?=~;D5=iCp{+J8eXl*+y^Xc8-Y`)A}t&L;NPo5mrX5F<# zdy(7Z&Xf?2t4Y0|3>C$xqjz2|lNzbv{}444`AN_BBW=X|&_d!$N^HG>WS~qF_Bj4X z;NiMQ&60VH)PoS7H&{^S6L}58?f9E^QfdSn8ckAF8pj&duo^UaF*?PAmy_3ftfn&} zcGJ;0wCBfSP10J)Bh3~FOv8V2S9a=niyba~=OwG+B|q}1ymYR?Esv3kQ3OXx>q{e+ z*UNV$HXb2d^m_W= zeVpa4l(gl&&5!dex&GaML_M+GE0KJLc(>ug+iZNJ3-?yS3-6knQkbd04Zr6aq~TQ#3kIZQ_2y1wEq z9Iw%>(gFji4I{t2+Y|Wi5sa7Kp8^s@r%vQ*E3z8J5ijX3*=T&8n!ovCV-|P!g&)&A zhWHJ9?arFkayqN(L%z8WMSBP-jeMxPubl;n5ttmi&B{z(akP5byfpg|{V>zXrG%N- zCpQN2>>@$%>S@jB#O)v3SkUR5(dg3cNE4f<3Ev{}UWT#0zdZQE#dPI+dFNFxYHgI~ z74E|>6yHWJlgMIOxYX9T5GW?NiqJhg6q+}?71aJMZ!wO|G|>81r)6@Ztlt^o=AepP z)8)?@5Zg~16+=k-YI)*CbG=G!=j^Fmp_?ny-*%~)X*cVtm;BZIbx8BcrNj6D#rWbj ziAsg?f+f*LoRhE5?oXKv|@SMXz@XTC&6-xi2Ni|lxi+n zf_uU<8^XGRq;XvfkBo^;J4G(>Dj9DIY*gP>#CsZ4?6$Y%dv~BmBWi|iPB>rrK zjmZ-BHI*UGgkWsuOj2gl+`@WZr;fpiH6QzUQOAUeyshTy+s6raP(-f7HKy{C%d+i|u}{im}BLDm>VqdKrevU&UIY$0lx| zzcq+&*tk8@d~@rm9A&O^Zv$`2_DQOCW9;pZQ>yHGGiPrHFMr|E9g>T^eDm5^$Bn#& z3o73;F3rI&5*7E{>}3^cEq zVvCxCV9MRMS;|^xgr6}CU)R&vykOSNuTQd0)T7oZ75xcX3W#Z<0gh;8%N$?6d|N_s!;$%rqGaJXEr*c_wIdq4(McbyN9SOp&`TMy2?R3NBXPcN%ORFmmRx_nX z0_c0LOcJE#hE(>ZEQT0r9m;E0PlzZ#M7vmFyO7_Ka=X+kNe^YlA<}(6_#OubH+~oh zeP=Bx%Xsb-mKdj2^sYouW36c;U2U9)xVXIOOGWjSlP}h<<*J=DN`Bqj*7K9V!W{5( zD5RJ=dyMwQe5ut*VR-e(Pg&^`&Ggl$M<-K@ca~g<&mKJ_b$C?l5&dHdN4L+dBau%8 z;34U$>=qe|s~3X(!>D3Yp7C4~cJXR|xqLNpfpB`^Y>WZpn~BbM&1&M~_(S@XTIa7N zD9~zp>Y$uIXHxrl5ixE!bv-j%c|LDg!i?MfPJGf{qZc&BBpu-q~H5#6FJ z;VmP3@#jCTS?ylV>)UOblXdd?(o5fhnt`XN(G6SU2bRvo9PT)7fjNC5S;AqOEK$S7 zN8^J=QESy(~%mL1#Z1a1L7MyD8Gu)e%awC zVrFBvhiwV@CwE(tj#vd<#0nB#Xs&-3%{9X?KogJe%~U11oM7*HkIOzMwesX)xib0q zrNvK14nO+>9zK}tQ<`bVhbty=Bfe_xYvvY{UoK%?knJe?j zl)8__bVTd@#RUo02G87+`5LYjT>?)(T9B)zZT8riS}L(W`!fIW>7#h;4Bw^hjGPi1 zzCcBI%J7H@{q=WeaBr*{cdT2aeC#Z~U?*~E_0*NY#tV;56FcO6G&{#xY*dl>s7?aA zuKk%Cr=D)7v<+!zd={|UULszxo#fdTQtd<_h!t&x=4Y}*dvVlD^sy6 zotisc!Pdp9?Uv<-%Hzi#TrXfc)TEQ6A*&djuU#~Kq3%=l%!P;72d}Sz;wmh0tFgNUb6G^ScH=eo`!5C`JwCGJbu2HkZn=h|^OZNx zldqY@4*Y>ajCE~-H)#y`A`IdUuNv?Nd9~4sv|O^T`!b&X!Xe}AnQILoNXXP`u7-{c zZ-xdaF4`_|x_@k}64vSRD7p95;`;8BEBWhk!OQppiG|4vLoIq|1$N>juB(Z_j9X20EbM%>Aa)nF!Ofq_w``V1sUtFm2U7f#S&EYXHL^prbVi`SM{!z9wXj_SI z^5)@=2aj#Wt7Z-Er*``lU9=5~3&Y7QnNB~<;VVkzSD|T2J2+-Z%=*tNsN__MoSP$4GWCz2x*CApS@hx=J(0{!5G=BIU;dO%h%;Z^bgQlw z(}y&HXl5sWyN)ju(%$RoX_he;^e69)ujAc4muNWjt_HK<(VabDTKcRbeIEaWO<^g$ z?K38d4;-K^2`ma$_gCLFGd@A@GgE%2HRMJ%v2UR158Kt2^JbEYy(f$=YwX%3%?~nJ zyyIFOH(r%>%_cZghmtF~(P%utFMimG0(j3^wnqKTaJZclFgZ35BKlyX-D2jtJ^kjp z{Mhv87osR6XG;#XUeX?n=9nj&b`8{aleCu>_Z@aF$|Enj($kBtOK$sK2Cfx1DmP85 zqPT(r`SY<7N4_-{X;&$|6@GP6e^kBAR_A%7`z6iGA69+1Xnwk@)-`+>AgqcR$1f%6 z+M-g8Uq-X4u22-3QS0?OF;+btJLdm#cQ)TQoUT&SeFbysy%FiN+j_~R+{+QY-mZEp zosz`2@L9Og?=DEICfgQ*t$+79MPG3SrbpdbS;-FM$vHzzs-mHYc zOY^S|D>{C*YuBR*Zks7j-B{PTLtA>mbjXj?kVp6ReL1nQN7ChKY36w*PaXc?%C7nK=jrl1Wv3HvMks<91K4 z(*!USEFHf%OCaRE-sy_jP++VS+%j0v6eGJIP#ZgcLP{|f#D<$W+Z2BmmMHtgOzugt zd}y+{A@um#F{$r_VYPk1F~_w=UUw;AdPm$U&#fD*#7Yv0k6^*?0&aPIwo{&`Pr3cv z%sIaJ%Zos>fD0eOdwPwZuHMZCTY-I7Sf9*{pp@(GhJA82w6Jsq%tdwD#1RD&vrlXB z?!F%KGn07EjXojy#anmn0e0IVFTXpp z6-+lp84|jt_T#B)n)L~(pC0fF47*N$TJ`oYd$m5+yWPHc_&i|`inGL zkE@zbE|`>+t*%_af0Xc;qv%UU(^*Y>fjAv`lgF)VDxczrhiPZ>vM*6&eUUvoq3ml}Lb8OC<=L0AMu{Xs zc1lXNEJ@khWRFm`HleaaDJoQU-f!mR`Mjjh{{4Rc`AuDO@12=*&YYP!bLPyvdwRD9 z9M;;hbE(BI6w$$u$n>+5OOy9}E60|MEiN$knZ#`(c{WDf@vZ!m z-lr#1Ttz(&O%DSC%~+uJX0Pr^wN>xPyk69f0vWGcIf6HN#7KHLEne828+^k*bo6r7 zX>LQ0Hc4yFqF~>Q1>$rCIofuQxXL%1QcsFcjg3?oBxU!-mS>52UFTWSH6!4m_FZupdpDG*>#<4N4raGgm3qtzAyry7D8R7c&+yMqph2iPNJJ$Z#5cpXJErTD1XDZ<16p$tIhUxPNOx~L{AWQ z+~*Rid-eW(yHNj$7=hI6AZo4jje#j)25%YZ>9afP!w4Vov7PkU-@{^fi{EnJ*&xv~ zpG!GMT7}q8PtYTZ4=tw3r3weddGunQWW{LJvL`8Rc5U6Iz#})Zw^*J>dP%*r_@;D5 zQ+F=PP4P~B>F$>r1jmVLq?LD&9uYqE=1HJ=+P8?(o*PRxm5Cpk?}solm|Y$tN>u93 z%#SL3P%3Lh8k0cvFs*N&IV}f4KkLY;VA&g^IWEMGCg7N9gqy}S+*GzyaUTd007ZII$+nX6o zc@s_%;mwRXj&jBk+Y5*$=~00MC(hVdQGLwHA@U|1-*RXDb+@g9ovA<}e=|9g5Md#~ zf57BZ8ilNDBRjLoUh-=mvJX+ZkDuvMUpnB&?|$f;i{%kAEJ9_&DO>z@ zz{QPKm2&w!eKhI+S=~BW}#Z?ZmSFeLN zWw%Gm=I~K&DK14Iin$s>k(HJv#*smVgI{lNgKt&P26*&*kYoGlP=J8bfg7K z?O6ii+`Q9SW-rX=Q>q*4|+pHpY!CqeX1(YS#Pr}?=AHD1S}(Y+-?28;78GuwAN z>CWqgngWNKwF{MzN5<~*ye1{>+y zx?ZtBjthCe=yaC(M(Am#qkgfZ70sck*HR$=MfO#`BGq)4Pq_fKw0hP_W_lKnW+k2a z`4+#2S?0shdq2r>rJwG$4Ca*`=F=sUEXjH=z@47-@GP5W=aC~cC!**=dPpe^7>=0V zL1y;*6cr91EmM5e<=EZ4pdDAfF?H9Dj5eYR(U&&|FzntIZj_`tI8|S>;r4{-9q`q` z?f29ArOErUTkO6%#sQbGB3}=PZPg$pAp4-EI9nxKwkN)_YdT+{tNle=4#CDG);t}A zIUtGs)91osUpG0k>hy0qWqjOyhr>3dPEH91PY-1JB@a0liwyOe7-^^GSc zMrG#mN54*rnYB58eoU9bcTa|RV-kfQMb77x1pCH;S{DXXul>O)gwjfHQScl~Kf}0< z?Wx)k6V(%sRGC#Cw^WyA*zt0Sv$7E%6i!jH@$1^f~$0ptwIvYXA@Mr(S# zjT!mg^WC}r@bvSekA0fkL^|{M&S~oB6>KR!PB31oZ&5-b*Q2ec{TzZ59@MeC2(Xyy zi%cpm?rU7zhvoAM&Qy*lT-cWS85F5SHUyezFF_1&CE zqqxNoi8{X{I?~WEsTuYuDS&nJo`9|jB=@klHQzmzgooiQe0o5qph5*}+dh8WmsE3k zX;LCIPSePU_xK#WE!Uo#gJw#8lwgvdSFFBfUc__Gd%?&%UfaIj$VQfrjX06nAlxRN zIfJ@j%P8xT`+l^i&gAah@&S=8X}k3k)8yX;zUw6VL|O1`ef$A6Z&WG#OOy8 z?Fj3>t*i}x(u7ZPs4C>h&qt{9G2$zBw5Ny|*7H?iseFu+uN@FIVbu_XVe z$OhMUO$yPY*6EZ_4s9mvuVkQI^eg+^K2V*d6uM9nogq{tnOdsNZr>L1oG|v5yA>;Q z3B{eNRx2+P?~^wli2JtJKQYztblB%(|3Q7LUb4>fBW2mT=Do*hH`Oygew2an%DYF? zsK{Wx^G;7rC;eE@eTkA7F3tEf6Usra;4)=xg7oxwAid8UFWS(*WV81=bg7;6Yk`0} z@2Q;f%@yzJS|8lU_ElVgKlUB)B(C&P>BN&~}k`ddPM(iNl25;!P(} zYsX&1TCfb293Dl;_dM&GQlly3gVb2I9R<@R1WdR5$kQ}PtrdtuFGo!Eu?jrutKg`h zNFpA=oK480-U61%CDGjhCpb)7Cq*ypuW(UWOBc&$N#}5i2b-`y?PKG!UjvP>SX_4@@%_$BwE7tWz7)h!rx+ z3K=2pSAD5SZk^N9bLH6Zo_P1WtbD;*5mTG9nY`MfC4g_htSO5bHsvs5Ee+mio!pnN zUScR%o|kyhH#fZCTd=#C*z-w1U#=lcqVOSb>v6Y?CdcJsa~7Eu>6cy12kzC35C>&_ zX^&2m&a}88UJ||km>lz&6+zu zLR{0X^67MohgSfhUjgxSti7h1XO->8$6q|pKV<^zXfxT*%r7)O3OehY;&Vv0652)= z@D4wC+P{IzK!i`BK5M_Ut=>8rJGvf{YuESg!_bx^`a^w3H$~jM>d)=q|AcHr|KR1y zFYdX%>64}bBH~gqrx5+b)SiUnheuirbVoBH=cZ3qXF&VYx7Lk9>yl(hb;0IE>iMsO z28-HYB&ux`lW`&#|JJfzxqr}C`+XIk!)aE@UDpfvH7Jnob`y4!i|565mvs;h6kE-E zdG7LPxKgM^7#817(QtPtn8m~9>PHvbz-TjMVVi5W$unP6D@)p=J3>NRn@`pS?5vn* z&t>9AY=yORuK2%N;4onBFe2M}cxdNmEnB@LqljZ$){~!!--?PVTfE9_K&qs_>&hOI zPBMh;g_$dhL#>0hh#!St8Kc&*%o`yFgi6j^(Hh2LTW3j#y<`=q^tuOc5NYi`SCq80 zlh)~u!uxH&K+8MIlrs02A$gsF9bNPugu1lw^s}2vyZhVyj%~^S>u9+>L2gXk2w0dm zWcFPT{dUZxT9@x)R-&-CU-_l%=Q|u)Riy~2Q60vdlZu+&d1Pt0tFrOwXs$(&QqB-k$<-oi+$!NMT_iLo1vReUnlqpC{GE zOtnKGv0z=tg5r^yTgOA><>Z9URaen>rg4IG$!F$*DJrMYoI5nFCx?`#-Z%H!AMR;V zjLW!%$Rs2@ipw~r&-a8TrOVKHFBgB*T|s4<+AxV5+OtH%u{X4-o2e}1rv!?sB05r} z1qk{F33lyw;8(rD%4ewajm$!Y=0n6~LZyi>j&b`w8)2F{#94cC%P#jBv}_-9(w{=z zDP|pE?@y58_h_$aBChFj-jX0Z``%yC1}vnQ4(eUz7Q01Eo7!oJ7_%J+BYBd-^lBKB zXPLL%*vBl>Pu>=#8Y+GxH2(BBcB@EZ)=#2Jsm6k+hmdp0&~|1&U%)lF_Eb{SPRC-G zgwD_>Db~ZCu$OIJkPk9Ml!S8U`)u4N zbD+gtvqKvJ9@v8i>swe}y%M>txJX_#E0CSzO?hA^v+DDfNZ_YKKRqdSHt^wOXtwBp zEnOZnoqOD~x0?+HJI)ZNhijUJR9t)QqHDc-+a2WL0NC?s`t~K}!%kPkpDd`9WS6|m zQQinU{wt1bHo?4^pUM5ixKoK!I6L?4rVj5t9{H~DU|ylz%gf9UEd%IG#jFX&Cxoe` zk5u>UsMbrPd7#-O*l6U7kX90@;@M9}aW`L~U4XL4?%B2~eZ%L7Pk*Hoq!BIL2gjb|S zcw?`P#~VvqwkHyKiaahC@~i4e03_Ryb59(nFp8%qIrpAW6S`38OwhB~^K9gXK(Gg~ zej6e??itS5Q^PF&IkHbjG+Yl`m?$GNjr)r&#stqyDi4)9la#-Fc?EfrJm-#~1HA&0uOnkkdH6~lN zB>Kpvue3oGdY^amKfXlA&82YXb_oJZ+(c7f`#49L+zi>3nPO^UMd~Qk#R;T%jerbFivh4xc6gZ-hHZM4@BQ$r->R3L3$@$RQx5n9)k2#MCb^b0L4O9k`%j+ zSULMpUOwIZLqwq`4D@ZC5eEPAvYs8oZ?$+oSI@M@@9-w+&+AY{g7sX~qr$1qesT(t z+-AY}aHsI&GHR1eNDJ$NPbdBU2SBykKunSt>#Y-_7S9h(O3E}dKS3Gy6J(}>^o0#@#^yZ{>t}MMjX^_O{Qx^$o<@MgZRJJZGWL?6H#<+1B`ubH# z(s3;jIFB&erNoU9n(isya_YmGOVc?A&LwGlSSqcKyPF^f+-j@P5HM9ZiqCB`NzL0$ z5B9;?BQ7O!8hC_Z(%#%?=QnkoRluNa4TC7gu6;1$Xur#UI?{td+-(aNqlr2wddG^D zq=4DZ%Y^GbL(s?_sbRUtJl-#B-%UIWyfR|Sdb@@Q_26CgSsjFr$x@?Ssw&yn(s*0V zLz)|$=Isk|JDf>j4UW}c05v%OAWaQe7+9AATOv~Pyam{eEbR%$)xr6{!=S;K%KV8! z3%j1b(BRKO)MBoY2FViZ2eA`&xDV5weJxWvazo<`KhpVz*%0xh)2H(%Rr-uxC)&1K z)f&RSQB3OKwoU+4HeIxzf%@fUF=CYe<6>y% zMt<&0fz8Y?2`ytC^ISv2=5Ee@B2sJLawCE8lWz+qKC#wf^9EbIX;wc-ysmOT96}k9^C@4yr#t=f3iZ|iSwvD}3T5pO=qQy=H zYeexQVAm6Ckh!3&d}mmNA>=tJ$$eamR*07^EHlhrz~G>Gq>ptDU@puQ$lXF6#>8q}pi8tg=W<%E>Kwe32;_m@&-$Bg!U$DrRLsg=sJUW-8QYQGWJ zAz?yS0y+%8_`<#UlHyYzUKl=`G*LNBHmv_^jTb9tg z%{k`u{5g-2dndjZE)#gg@Wre-a$4f+mu0+MOS;Kc}M6)di||&K}(o+g8};s53BO`sG0EV`MG?oG=44y z_TE(*-R?Y1L)frm=F93+`=TvqEXW?<@YGhu8bnP|xNqR>Z?UkeS`N8co^cdO%P=MCn}&{t!S^*YeA z-tcDYkU^y|tXs`HufmsP^b12DbJFg4GtbU5zIlS|^su@h^w{-w9`Pa4mxmiB6Dt#L zg>Vo&Nr~2cFi8Mvw}qDKv;{HjKr@#4X@AFM~Oeq=R6 zxuEMY0tQQ(W#}36P^Az#^Vg)~XWpIUEp^}BH{8E7i})OyG22BoMksvx4HqJ%>VPwA zTQ*gi$}0r##|6fc=154HLX>*P^Dx{yj#mn((4Ke$y!cUu@iCLDs~;i$UapDgvd+Np zc<+0*JUQcoTR-liYnUV@kMa=Q;t%$J>nH{?^j-wEusl#xy4Aua*6ChWVDq}_SR@0R zxQ7|tvrX8_lkTtD%dT{%KF}>qqyafRtrd|?lXXc^Qv@N()lmkg6z(UHO-gS}X``-* zU#I**FQO4!YfZSDQ@4FmF<0l6=bO2#i*hMN^v338&c4*-LDTIzdxzxjat+L!S)5S_ zP}u)qtg?s$EHdJ}&(eJ_euCpR6?aLqcA?+c+>r&DJjpbYGu9&87dSXxRm<`qQF34E zUwtHs@%eW3HI)r>%a?DwVQ0w9bGCeS&9l|?*?^Ny-U>3VDmF-rYOR>6B^i zP`>gQc&?alGqHi@#kk@|&LhYi!-LN%il4a)?lsDpO+P5A?mbFUG-OIq}d z#ktk0o%e=Fm0XRB2vIwD~D^`%Zn#AU!IVg^_r20J~&Tr)c7o}PGEF5CZ$p|v+5?JeQP*X@x=X2 z2j++QzIp)ymPrTnp^DjY!N%-7QdwZ=b$o{!iqb9Jp^yu9zLH<>>y0dZdPZwz zaZvfy+}8DGlsl&%is_E_&t36CCT(AJODE4Kelv7X)8yKzKzgz$R7TF|JUAe5?k;UD z`mD)Z#fBG8EPHvoQ*2oD-6N`VypKn)s~(D;zyC7hnY$JdSJy{#YAK%WO5@?zKTvoe z%pai9(~S7G+S~BNWySRa1*clZreKxrGA}jvpT2dHSEcfWq|*4_-nLEI%r?r-9}fgv zYy@{8hB@Pk}XHTbT)R!qUh~CmPx7JtZrnRSc80|9nPy#_=~Uv9l4l0@|Y&O zqe_PAV)>z^*9{Kx)mg%e`tcnaRO?J=9-R3m;M@3eoc>&o&qGQO>FWL%)O5jV)c&Rp`MXcQ@pFfo z)POTbNo-?5p9AlQ@n^(oGT*K+d`#Q@u+o1lNi*bfy?x1soeIaRze)}fT(=w=Go2jt;R;bv2!8IxieE=#-?=rUDFA z9p!Dx<$;YIcNaHu=nZ7>i%))K^Yn6+77=*MA0~C6U_7GmuIYP!)#skJ>bcTGtdh09 zi7qi>;uNmic@dUq_ve+Zav5=hjOaU2tSe~Z$14$f-YT1 z+{`MPoc!eWW7C9=+Gk3(J|J=+>ZmZ2b~ID-`PQj?Wa94nsfN?@=P4ZvH@(h}PCrc4 z5l4lw=eus0ij>Xtu(+NB$2pbZdmFFp+uwIQNdy##&DklUldc z@V0H`X6%|Mo-w>>tB(rZH9n7|*9&vUP-c&kY}9z7L#4{nQg%F}P@>OK8u*l0BXXGw z^ZKfad2^wey9IxBP%v`AELJDX-3Sk@XFDjyH}N)vq#~rlXwZKU=(EmiPlY} zrRN`9uj^W`1G{BM0(&+Jnc`H&7=X*98m!HV!G3|CF zyOp2yCfDFu5zq-=eULa301gV0_0AP^U9Y-pxNrrzMJ;|xe(}yxb+D5yPUB;fg{&7R zjmx5REnkQoIOg_Dv+=ItDFgeGLf{tZzT9>%%ahD~&S^2hlLQRR7L8(>sA#>w;KGL~ z)o32)bk&E+wp6<~X}jcwyLgV1r|R!0_6pY38B)0kw{SYQ)lkq)DNquxPpW(0YtOb* z>An|H_l}ADH1~F9^Z0sdGm2d!P1UzVx|k(W_&rV>X6iA|=CA3Uc9**TV5?mm%8iiU zmTkYd)9&8W2Sn|sRWvd3L`ND5Oc~~aOcociTiaC{KXb7zP8(2#rn^V6zq~lXUq(72 zk#)x~?6LR}_L1;va0svUqfuxfhWM26&g0kgAI{Y<*GXMg2qcKD3p-|+NH2QDxBLdv ztHTaub|p@+fhD@uf?h&P7L^rt!wEKqU^R-)A)t3hxj9g4)(7m2*q*?mC}L?`RnP%XqMkvDVwh&^T*$Q^c|dv%&CFVs~u z4~Z6RzkB|6yH&aQYnQRvbz^Q@Jxj7kI`;)llFTq%k6Cy>*`)2PcV;ds%v zr#`KB-3I;jOWOO{1+yCz+3%4bJ54byJWyz!n|(+a*rW8BpY+SueN?ob71SNwUT_=l;3ZmTUlE8!zFQgMIN_n0r5p)!< zh+=qTxb9r7)03B>2RML*P^*?_GPk>8=w2kd={1_rXDsRYls#+?rQkrVI+J$#^{V}? zyw?tX>=HGaRlU81=3I}YUT|IvLc4S@2}N#Rmgngc$xq7HtKuzdc&kVGCKP(-EgG=ino07hC4=Zi?R$abW@a`js*Xc>1Qvt=G7(jT9WtjG$1;Xe9>@#J zs9(;$e#v@2I?QM(Sk)vtbLna0ZE(WzfL=`ac74Q{T(_;hIIQlW3A?$bnbPy1YouSA z3WxJC??wcXkV1O`Qn$o6;T0UBuEY9!*RvlXanKISB)xD_&4Q&x{Z8f+YsXPjAzt@X zjSF!`S1wU8kF#f*ixE{WsJ4H}szzu}ysqrt_l{90BIo$0#CU;sxB9LMM}{7iKQ*WA zypHDvaqBccO>J_h>Ye1Ny^pEy&ZfP%?DX_d@p?kl@^4Wwd1jS@3xx+2DYz@H<*E-{ znc6u|;z>ske0;q_ZCG_iSokKej)RBy~d+WX5IUQRSirTUlxs6(1 z4f)LVz-qSq;p44?;vq+gtpeuuK6vt#qmc|5_?$|WdGu_hp$}4brR% zVBb)nJ&gj#H(#ABKXB>_U*SDeSDR0@Ptwg(I%jjqSw6HoDUdlPv>&Ld(y z8<^?k2oi3!Nk)Zv1rwzbwoqU1wM=i7$7$@@*poYRB-tZbua9MX7?gEZ!xPRlM(`WvO)jaN(8RvtMT=lb@?q$S+~uZFyb6SRcXI z1x_YYgOkZ2X(n#Z%PPkXY!JG(g`(J!nJQshW0^J3J(7#iDGXlsA8Ge9l|^Y*Y?r_0 zbuM(lOewA5cB|pmIOVF2_W$?Na-k9ay}#MY@MgkL3#l|tK<@jWAI z)t=S1yJuGNWsF@il|KD^?mK6nFeBx3*FyFr{@OdlK{K?5v6GU5G)wPLW%4gl;$!W_|28tQ7hfsx+$h((^Kjx+srtE@ROlAxuJt} z?WbDbYiAu1<9NDF-^ep=k+i`#J=Xo*r-L22S&4PMx(-1#w7E2r@0kgeW{#ad^jMc} z@9h2)Y6MXvW=W0_6IEILsWqAA(#>;cIUkW=%1=|7Ol!6A-OvF)m&!hU@5Ai1UDAr~ z^O1QdiG$)}o2&iu*(m}rDxN2vhDdpxcVja;IZBF5Y)K})^M?D`HLa43=?ri0S!fS? zyqOS!CXMwkyiQ)WJ-<{nSXMz+=AX8Bv4Ah7oHoKwvY?~D%=&(Q zcs)3cY9531sAPL8H(PwU(#(Cm=Skx3hp7yjw-00D8D4nzzEAZxS)>g%r8}9CODRtv zeng%CrNBhtYWLZzlBJoX68y%FGJjE`YEsAc>;4&<9^-p+<2&3+I_p{k-L$hpdoeF- z>(9rGZymbI&=7hs+D-BC%S&#y?}t-~_&4xq0w-W7)e^5=?UzS3zbH~LoTR+lIsnc) znlyz5K5v^fBOX1=I{BW)w{Xx!Lm|39g;43KUNX_dN9XQlk!;^*w(2hmHT1wfbaq+M zut3PY;@w=tca>e-RWR?|hxGIaHT8VtyX2lu?iiD@`*ex7;a%4@3zMg;DojqY34VpF zz~p_VV_i>vL|w@GK5og>tb+I*eW zk8q}_d7v<3PEs0IgUXsyr8pqT>9Du%0Rv%F2Cu@anXFU1Bb7DNvW8aW25+6;S;TqA zCZoXDgvuqYD=$2Fy?OhIY&wG3tG;}F8Yw)<NG+@+rwU1H|xp!ti zp^|>tK#?@Xi?9aiJ&7uOQ%d0XSpy~o84PJ1Tm73{&a-;I{WQC=qV1#iriw5s(#T$h zYnL74H{R#7zKk3nJ6~u*LrU1-GkE#rF0wM$5z7L)g-GeTn9UT2BQ01A(=T2cW8rJF z?#M_oL-!ff?Iay+C#6g!Vodw2srIOfd{K^q&`mo-Sy)Bt%I-O#4-5LLqtvqSDgU&FeYk5BhB_YD9eAoxk?hLG&TUtGenX;hz`AHFB^iYjAs)xnJyQZOyA zCw6bnA}Bj*xaeOFSrqoxIqe1iEhElPTe>Pbaiv92FXxJg0!of<3+K6 z60f~MRPugK$3ib+UdG>}=YP3bmOJ&1C;P3mmtu1a{7Uy~KZQ(@QZBZRoEy;{V?Z*g zg7$!-r^jth{YTK*c%}chcS`aJjA5 zTQBBjX(^n894F7_jr{y9T9+bJIk&@x$A3$x3Q)YGUC#<0`#jMIb|W0#CT;i}LNGSl z5s{iPqapo3jW{#$lsmiH5hCo*D`ne4`4NLo>^{%2;B%BGlU+0DzmVFPOmm(YsJ9Am z&Fd?Y09!g-$twL?A;k~eM{I+I~^rb(SNr%ZH6abI_{zOl&sF_Ll-!ne4HwWKU$_d$#TQL zD~Ru=jbf6GNZ0n4zHDRZ9pjmz6#G?!yWbs>zN>r#_~X0hFc`=D`OQpeE}brojya+0 z?T2lJ8&xjJn$8V|c1DGhB@@=LFmJS&5};6aXgiTlu+D~|kyhme`tC{juZ&x?N7%nO zwlf+cWzZ^m-PezY>>EKbkIoxTO}~b=E;snIY|nYAw=WNZpJjJYY&bRjIti7zsp2+& z=OL}Ei$k^xt!)ptle&%4^4eB7UeBe;L6}avXP!NL%#tlrKPp@$+|=R7uFFR?_hU|- z98V?n_a@A7t@;G^)hH$R3=mgbXR6p7QKWZ;bY9nL%HvZL$E07a@U8kWc1219IU?0(y{<9q_gHqbmAr$Ic&h(Y`4b4pt3uKO8In^n_L(xSfu+wA z0|jSjwwxfEkgB-Tw=lm**57z=tRm5^=@Z$vqN6B#-;IZzaHQ)QE!X5V!~s6!`l; z2tf!T_yEsu-}?CMjCIC0yMw*72V()gc#tH2LpWTV1Vx&4DgYIz2H6Yxq|`ULdJk^F0WmO@9j4T z_+t34*TD!O12m_sMYpV<2nKxX5Cgs)h5dZwpZNp6SBL>VgD~Lx&}-I(${fkuXoOJy z8}%SNh_C~?pRJ}He2*Ffd=0HhF7O+K0se+Czy}fbg7@&)BnwT;7bkjetZO52iOj4^rd~j zTL(C&nj`&?Chtr)4EUDbO1plUn#AlpCiWkr9mfaY7Y+m47zWr+Ar0XB_&B_SzcQ?vKhQz!j%WU46)^bk3bCYQHY&0acTH5`0n%1c$WJqem>kil*6k7gn>)P zk1Z2Su(;;|4KP4`2`_ySfBisVj+o)4Vcv`lV#@$O7x-m8*{N(d2- zb{NBX0tPq-;=f<(el7ap8gZ?>@ZH}Tzpz~0^J*+j`HeY0z(xS=@WRK3qyNw73v1C2 zeEs}@10VL^r5~qHtVus;1c2jT>p#GE?l0-bmnB$+fNF63N=4EN-MAazbLyA% zg=PMf{QSlI1$-_4F6_1XKcoxzRQ{-qx@{Hftum!*$;9nYd`-d^Kd#$4B zhi7Qlz}Z<=Z#FFAJ*N#?u$?RGX3`Wv;iO9*rISP0oP3UX}Ej%9@>C#0r&~W=7W3#ep4{O zPd6@UC0_#$A#sGJUD!-V`yK30j}Yptr9PN>{qrRU|$Zz z%ZCBJ)>mLa`wV{CfAZciQfq~GKdnK4?S6IN!96orBUFH{mAMSsBXRaZXj_8zng1l+ z5cYQ8Z5ZIw56d^Wj#{a5tUATGF8UIjPr_h`mX zTkc0)_~l_8aP0uc6dcpPl1upI{^%acndG|(EBzhveGS^5{ZYTcryt(0Wj}{~3AeU~ zZ46~AoFCSj`#5h92urH{d*h00OwEp7jQg5 zxdht)7vMY%bq%O5!8J3qyF%Rn7vLNUZ9gy#+616Xfn{(3!h(7Nl((zu31!LO+P}cH z2i!XVFn;Ju5C@ze;2LMG06ww))9ba~!Aw<8Dllp%cdn)zK0k+hS2#NUNsJv27RVJy z_v#Dk8c<)t>3lyCzQzlf7uv{vM;>3JJ%oIBQSna*UsV>+4rS}`>N?<_q3sCHw+~-7 z|3r1m%O-3Z%!A9nMmz-cuob)1D)j%#BepHR&(mXT;K$Mi_qJ}em9Es`W@`xszWY^v z@E+Pr@g{j%P=qI=`h2*)e%RrD*mVVOE;_g>2${!eK8t7YN(0c%73 zzK*K~bV0c>jaL_V58qWmTP4g3ZN`5U&woAtf8qQL&`<-v`=Ex79Dxt-1>o2b#^cMr zs{4V9F8CY-&Jn>FG6BR(Fb@1V-|CIy1CB2%eCl838;*}SzG59_0zNMD-D?{- zw}mHZ;khjoxRk*4ub$fieTl{d;R3b-HS9SSpi9Dg8Z(6RKXyh7*cPewBf0?JMKJc> z;f=@DGUY8uO96VT4$yFc2cUl*u=TV+I@iJp^^7%i4IE8fkUv=V{|z$Wz7CKvH8{L* ze-8LZ$DR=Ye#lpJSU5RAeHQp9$J({_gsEeI&vqOQFs`ONfNc6JBv4o&BDno)DhmSa zc@l^d2H*=0%&ScpxStbM5{3aj*0J}%S2{Kg=7F?8{S1~}rhkb103!KkXaMaj3*_oo zSPriHaA$Miz9-zjhIS1cPgcjkrz94b6?rZg)o797yCULmd^-b=VN#V3)Tbb zl)#t#AKFOpX@Pn;m~#%ddv{SD&F>7zPLv+WsI8V0Y2~0Y4b40PZvAi?-Oj zxIbE_m4Cpm8nk1z4djP(xMo?cL+ggA;lN>Ihy&nyf!(uMCIZm22i9x#J}&;bkNq(Q zD{y`~(*nxEwJTip(@ zkK)3rJ!0%Rg??}*3WgOsw*_(miyp{x01GQqp{)(J6C6jY;h(<~k1Y@XtcDNs#+F5_ zq{F`S^WAJw_N`Te_B<_ z3jVeD17Seh0K|ctmmvR_Wj+=j+%x(!{SVr{R@nnFExiv`@WZ{g)%=0au>V21j!VPo zOyC(i{!%NGv14SdIS#-65E0x9R1cQJ0N>@1$wa zOojQNY=GfNn$u6^aeFB+9r!1Q(V79;j@Gh6;r0ym!!^Id2D;p`_(O2=7wR~$4Te7r z{j?thZRRk*y#P3$I$W??vCrZN0sd>(w5!7X4X8gr-s8?WL46X3AL@#r{@8P#P(H&D zUU=#!9_WOsVt`NhmG=yXNU?icaGr#69@npMJjca2*}O8Jnjziz^ADs0>WVNwgaK_q zP*%b@2M6Qt#!!ENeFN%IEA)Z6ex>fe-9Y{0KEwlM0apJ2wzq#m1Dpq;{sCdFoGJdk zXY`Z)0m*>&MS%Y!qyg$*upHzA98Z6=KM2d@8UgXO?g_fPDX*!7n=@^~2*t{t(u8nmTCd4SWY zR^@r|Pu5>Qa0ISDfsP2~i%S5;>=f#@swuzh8hh#Xkd`+#J~rV2(q$ z@a#4mXSj7Nc2F<>f%6y~XK;TK<^|UzsMC+@sZ|I;9#?QJ!o8l1>PuLe3gwz>svSnc zn;-kT3z!D)T`r+9aL*pf87SM9=W_VFFxORJv5#O(>;h>Ed~R$Qc6f;>2S zu`yiRK{@hxpaUyQA$|C3A_yGF4Hocz0@4Oy-|wnjk*BNSt@RA&v4$6QSRBjsn80rj z*gmivJZ}K$#>winVEyVH!~ta=Ja4$1CmBoo_uswD!+l=JOU+XXxO8lvf$I=x&tDA} zo|l2NaJw+Cq(NRm7|U%wzudo_VOe+<4C-U}aPZIiK>BcLaE}rfR_lnc&0(Lz<^|&e zjuY6wVIOq5XtM$XrsJQN!PixxjUN|a9vog6!@dUlE*u|VE-VG_dSD%45cA^wA@ART zFYe8Ug|)nP#g2J6E@4=`XMztOj#(U?zehiW0Rw~y@=t*4%b$UdH%_s-0~QGQvzkAv z;6r)U`)BxrzXuO>Q(Rbm9uLQ#<@&w=W9=qvU%2o4d+iH<^9IK@{5=7_4Pw<<6s+99 zYu_?3wp<`zp$u8wKXE!XJj?O?%~Px{f!mXZ^usertAD=$#W zd+^5>+~uXPXk3FQ!k4ci~&Sp+g+4}`fofHds<0_y?S@31}K?;&Bof@2%XUUA&M!Dz`12!db13)l&n)2jJ$wh#mfI52{pFA5M;s39eDi%ySef79 z7{tx*@E(qtWq!fmJ?Hr$5q9mXJW@8H7W59HCL} zN7gIXAnTNa5CZH4>ZAN;E?jJtO5CwTRIvi$DXXEKZs5-|P}K)wZV;ds6}hH3F&{Z0bN`Yph+;CBtbQ*Je!d-yPx z@vhGEN6+z)0Du#ob@_p2cm@amHy}_Z;q3|F;KDMnEaVmL9X5tC67P3o*mIBY-RgXx zpGSjt&sM*Ob2$Fl$Ge@ku=D!reBk*hxZvFL18i6xUxxoqdF;HnR{2M-T2^2}IR{~` z&bN$vP5R;d0PS5+hk?HXfwrDC%0C5d7rXjBl-;oY&^872C>Zd53yBXWX1Txq(0=f& z2y8Pb!=PNmw*ledT7YGj`vCm513uh8z6X7Mr33%N{)>h49R{T1hq|nyYXSCk{Jy_J z!}1N@_{q(2tJ5E!eT(hn~If&r_E$@*m|;0crxV32vKDb~B{;C7x znjx|q(F2pEC5ZPR8sHv=N}|tTo1Xw#zq~b#i$SHZ0fHo0zQ;vs*muT=72*NlI3g|x z8o+b|pW1N8X4wjAi6Hwxsug(a3DT_)FObh2Jbe#EM9E+$oB+_|1#&rp_x5W*^1|j3 z1?%qb|0EG>>>At!G%*393gEede`rwJ3t)j59l#R`vB6^U1b-oA-=ASlNR2Hb1l~f7 zFvSD$26yn@13W?cVY~-)J~xoZ3&2!BXjX6?#zOD|=~h_0ur9ylMSYy{(3?a-cH#y^y# zB1f$X0J@te0OaAe!_&qA?P}#IiD?PlkW`g83f{=GJ!KAvbBZx4VF3kSBb9Hb3&0JN>X zhog_93)&v-`6r=D;GkmRKu#GctD{{zE3r($B33^N zh=O@_&^~Avz%W}h%Gc4w1!e2#X=Uw#M%e+fP*!fXpoqPrrdzZEPe zjN|L~PWxMxRzY@w@Z~wJJa@bKxI3dgI8ok?$~HD=PtddNtXw?NoT%>%##TsV4bCjH zO-|$oKFW!#GziFm?KfaZ90s&mJG#Ku{lixJAv+vLI7C*554$+pU~BnXlR;K1qg((h zQ0{gpE5IoeM>kt{Ur$^&@&sMf$_xAf{SOZU?2fi*Pe*$<&=tMhQNHdT&VbWi4#F$L z76%B+e=BbX3&wX@oW@&+=@6~e{hwR3lIarcFt$J6`pVRsMEYxNAV9cFo8VH*xV zZMUsF=P|UnsF;|fl(dkTl;n0HNeLS%AuB06w2-K%j4c|Cmavtu6Ai$Qt$$9p^uI*2 zgp`X(JW~tZYM5-mJpJX zu$C2)l#~<`vbK`75whJbYb$9bX|)|KA@i@%EG+gfQ7vY-U3$BX^mZW`QM8zlq_~8v zkgSxowUCU2t*G60TTxpp>3@xCG0}gCXc@GqowSvhxRAA-wFKxMXc-~US)_y{W$bLF zM6JZ6tYm-a9&#dhasVqy|4%rePk{Z1-C>3Q3HJX- J`akBt{{a)}XrBN8 literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit3-console.exe.config b/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit3-console.exe.config new file mode 100644 index 0000000..64c6f93 --- /dev/null +++ b/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit3-console.exe.config @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/LICENSE.txt b/.Net/packages/NUnit3TestAdapter.3.9.0/LICENSE.txt new file mode 100644 index 0000000..210c647 --- /dev/null +++ b/.Net/packages/NUnit3TestAdapter.3.9.0/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2011-2017 Charlie Poole, 2014-2017 Terje Sandstrom + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/NUnit3TestAdapter.3.9.0.nupkg b/.Net/packages/NUnit3TestAdapter.3.9.0/NUnit3TestAdapter.3.9.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..00c8c1d044fc29b93aed2e23f153025b8edd5029 GIT binary patch literal 492656 zcmY&WAK+>f35DSXF#W?qG5qjm?bbY>lgg2{2WTjVVJCsIQ+pVN5qf zO({02*`WdllgeM6be#=dsZ$4q65Zyvsyz6OcWi)}Il=&#N)AeBhijZ;#h24iVs;($ z{1w>8j?h^+WL~RHdZGSkeXUlTtyR20Vm+rOr7qI$icxeE3Kgf_+8kIPkMI7Fu&JQ< ze_~hWF?iJi4gx|93j%`kU+m=7?5$kcRn1&nMNEwxUCo@C?A=@(%}jFDH|;mMQT&h- z18`o=bV#Uj+qdyeF?UKJ;ab)U+!vm$29!;r;(l9uMIAV7Mtqfgg%Qf6R@-ih??K~t zPvvCtxJaGn_kGXkZ*g&M6}kaWM-Ee`sRFgLM9-XAVg1>^yza?_1cBP54&qV5#~X}P zfS0TK96l{0asr#wmeI^Oiv^DEHcANpUwpX_>n?R6HcCxC8geiQBsOy~qMq~9mUYpe z_uBMA2E`APqAf&rqgI?(

WvA7RsMf^v&>8oi@LAjc@ABu4$Cn(azVk$CEY7(mnR zHu*ZTSDY8^U#=b zsJ=GH8u+5h4@%oMwwnnOHZSBk7YXSphMJ4*wms6N)$mdogkd!DMB0TBrl9FR25(%9-?F7P+63a zDv5rIlh}Ze$i~~1B+kLox%1?O7q=H&^DIK{1C~=MM$s$l@CRhbeb})fuEj6pKq_>U z5dgSz`cRhCv&1v<_&A`GAZ!-7sHHCl1|moS1X%|_b2ffd*M#FMcziLq`LC>twveA0^%= zmu+jo9X>o5K`0z9N?o6&e)|Xi=<>BZ*X+KYgS`iHZjp+n2YF`{=jqpREmLuWCTSBnJ4z;^j|2y$Vi z+u`Tu_I%-3Kv!wX?OYqA!yhouH?L;h&lTzW7qNxKo;#;N*K7KYz5WQ-xw|5BUT$$P zMj3pxmGx)!bQkYCEF~D9xogLhn}4w>WrV4#iZ)cEgeiNu!a*+R=Kw8I(u)Ad$$93@SMeif5A;{CW+) zng4I5e|4J>#e;!>s6+g3m6Vef6PH&JXL9v))l=Sf$Ywzako*_GeN+k1Y?Du+x|#+p zZa|Is!!#{BvYYo(FU z!>P!-njH!!R0nA{iVdzN&>|RnjU(x#nssN{(`FBHQOI7r-ZN-a6JfXk@m$Qh_dG}P z5412i#M?701y=y6U9aNGFamsOt{{zjaAl4(-s8iuQZi(lacQS(bOi>c)@DYMJ(L$^ zf9H90NbeM3s%mri(%;zX&-PdnVPLcaXZzY*hfCmmf&V6o6qvi^yNfK{4zNdH10OO@ zf&Shpw80{QO3E5ca&<$%Z~E}kb?0ft1GXit!Q&)QT47=ofg?=5w-dGdObJI+GgWZ? zYmSRE=^dSsb8F?0*5z#Lt{FQf`uW63SeYHM6>0UCQ*Q>9V)*+@-OYB`7N@->W9EI| zsUu#@)65rVO8$idOM9SmJ>4lndBVYtOmFoEk^AvqPSd|)1WMP_3sP{t{lxt%0y$gU zO5YAoM#&9_iW6ZwEF&VSiga%bY1x~Fz%lJJG_ zqIy!02r^|YQmZ^FigjwV^zmS9!;HTh6{UtWy62FkVtDpuafDkdbF62b1f#K>jQVaf(4i)iP^1y`2rYt95W%E^LG!>Co z*0KyU3YGx)=WjPSPO#eSyncCV;`N8_C zE24tp`#hhDx)+YJr$hhmO$jiD1pMP=Lo$c@7rh zVQp%+8gJKXTh+>9!Yy0ZYPW8v+l<`gxZGrWr9f={{Cs@%?pkC&T=SglxZDW5Y`M(z z+)z&GIYC;2?Dgm0^n$Uvtj!Lgj$n?vnGn!m)g#DPA>6&9>h||hyN14`SKrWCc8tTPQ$EA_-g(a3oUdbAi z4FjaUV0p=~BLk`oC2PP;Ef$~TE>tk=jHjNCyWZ+VS?xXGA8x>HfP)4-3vuYySDgq| zhfI*F?~*sBfdR<-y{GfadEuAU#3h^0tgj$fELD7ui2Gx{J3ecs5P82UFqkGqa; z^hldJQL|{?c{NZHdn(J`Q8m2YnQ)0})dRn45_&#bh;(~I>xl>maijs7!83Ehe0NYT z;AV2nM!X`$Im55?0Vb3ApdvC$ao5QHC zCwf^?Vzdu2D?4&axAO!`o`n}^!OQFTr%B0`Qd>%SdI0Ao1+!u>oh|J&dT*&|Rrc0m zo_49QJlU-xT7d;N&Zx<DSUiIS7M*eMw{(UnDwXu0X$*@N zTA5}jZ8FO;nH(V03d<;qfVI)C$;Xdyb;!MYz2yo%{xIkoN{8lS?YtHm*!dkge)!ENctl)VdUhV%!df znp@@t>H{>dk_^aDMV&pRi!%5_gKc-TFxPC;d3jaUrY}Szfl^=mIr$k#RQsdr7D~|5 zZ->N3=J)wAnNEd2WyI8HDj)M>vfeOf9iSmn=#*!4RdiA*lxO=8R#g-|*(983w7l^g zE5pt2cwVDUEo1Zi-CFTg(t;655hI$QSGLVsA=mwV4c2Lkx&+J@f)*^3<zN$jrG-D^HxY1}$x`G-g0kO6vePUVm;sw7Zr_&x2T3%&-$tI7X8q}mvRL-ETPUuQ&XOJ+a zmNXMg_%WnC=6;>ZQhfPCGb&*xrLoaEvQ z2eO0bJ{P@(#Lu#s(DW&c1JX+n0XKz*|pvAs`Ep%)MI8|LV+a; zASflrrGeC$uIuMsZs^pi7Ri|39=j)vtf}Ulnv~cy2!1Lm(!Y;ax%GQzB3A{`a@geK zaiivc&)ZkF%S>3N#dcbWw%^%|R+(y$Udk+W5C5Jhx~JT38Ev+7^Ow|4MYBI~tF|COTS2DM!!hHMC>Rq7JI4?@6sG$Tk5laIJ@ zAvb_YPLI@CTdG1>2SNp|#)Mano+v#=V11AZwKYH=CoO`P6*BYP&daE>uXjnAe{|HV z2l^+{hzBQ(RQ%a4{Xi}WO_%pf;qhiKoJ;$dSC#G)4h}qCcA-(H(1>mOw>oBI@*rUl zQIYX!rcqcPE*sW#3yf|?5tQ79=~H)9D$r^Do90-^+W_4OooAduR4V`(EZ@j?z7Q^6 z*W>ZJz_ST6eMm{Kuu7-W+>k!{lrkAlAPOvt1mC4WcZV9sG~ykri@b$iui@w?XAug*lg{a=-E1&C^;?Nv{9{MPA> z8IQpcBK4D+qJM?it8z-SghaOIiH>mgOW!J3AWl*w9<*eh%g%$?t#kq1V>hDuymx7+ z%$+&qXltT{E|37X0}TDzewpaJ&P{HB_W^F#i0PtZdY(kF6=fnb*}Q8kl|LP?pS%es zt0)H*);}lw>It-PDJvpcsi7)6jK~~`E=D2&Uz+8UewITNqYC9qH_YRKPrZK?9Yv>> zEd;HaWzYIDoy*?L={A)jg1O8SL|$(#{p;M#ax8-sTGMrh-65_V1g~<}Doz29Nh*#P zL07L+Aj_I!V!I-6{z@u{Q|jHDGqUkt=IoZD=xWb_YM@}g^PN*jdGaC^9K{!UJM|o+zfK(YNcEKla0+hS#?Im-B;nugq zCftA(Gf;J6Il@(D=B5%K^RZLqs5oWZT^Rp%Mo*D5IiMrh9kC1a)`&ayFCzESbONgi%*|` zra>t!JYMR`&o=c^z}|xLS-|+mTCr!bpXp@#es!>yGfNn)lfVK{?Tu0(S+31$68E+^ z3#n+ZKv%t&N-1-2f8b{PaywYdGVZDagD88}?sD(JB=3z@R4YaGth z!UqDz4nmVi(>L5t5%^H9hPi?uH_B-L0Z@wtnL>kGA5IsY&M&!SWzJ0icTx%O_NYn= zA|VmDUcAPv-m!pcJib!Jp|0f@D6Vr>m?{?n@uCbq!h}OV^~}ak1Yyy;6N)dy98Ar@vaANK2CO> zW2GZ@l7`q3KYfuvz~yo86=^pb1nsXwxOh=J%aKNDdU8D z9rvLdq}yshEnQ{x6U(`2>ZveBXdl4r^&7$76_NLrQ?WF-2kd{c_&R*KrS;eIz9JPJZh`bBGFh(0OO zgAs*++#&hznc;3p$6%%idtK?w#>5{e;Fv3=R@oH1yhK1^%tL9|AjIw`-i12PGzPJ& z58(hQ(%(zGbgh3T-r#~II?H;;zlU4;mtl{_iVa#7NU~u3P~q+?ll!t%IQ|U3swyfa zVC?xQ{FBQyBwHx&2&uGJAnWyckMP(s+gt;Kj=4GrX(#80?KAJ7w==9s&>y0T6pXns z(N!Dr`*o9k^gM4C;}|sBdbm|$)aynwM%|M&b|O-LEZsC8CivHE3b8wft>BYZoySQK zZ4!sTNN47ppwR;YR-9i7w)T82T&t~^R5CgMNX-n5bX}tHD+s=_ZjrDj?f4KA_~=DA z`jlEs3~VCv*P{C6lk&1!*z8;JJ2sQwI)RZ(`mU6KolE+S**T?5jxBz`1s#8zaQKrZ z-8orQjTw znH~3__(#2yc^fT>>34}NDl{6|Lg`J>gZ#lF+4sT)53hj&h9K|vt_@s1aIY$x4?fh03t zqM+DwhbZEfh`Sf~85*<>rk`-ADQZ^FI-m@%J?ioB(r$mz<;K^W+Z%hFyJqNshC1OU z{3qUSjzgy=mP7pH%FdLme=L*0a=M72BchsK_jrw4`Is&HKq_j|HjaF#N@DNqm8z-5 zmtjjT41wXYC>S2TZ7xerG+)7Fl5@5{t%z$ot?f3gJF|?es^cveTIJG1O&sMsM7pFI z)|%-I^5u*Pj;y>|2YW#+L<7E4^?X66?)aI>l(T?HRo`Z2;&bZ~WrYsRi6hOz#+j*DAe@;+IOv(A4H6&VD;W;4W%~LqGG^4eydn- zlqh=3o5i5T6~B$_`j>ri)Q)`6hz;v?0f*#k2lgc>w}1R>c+`Wq-1H!4Z^AuFFSaib zuhg8VA^IrGYmUxm8o4G6-hOeqZ%l*r4;R2TX3@S@4J%o3iDa@QGp4zA6_$ygC=%+Q zyS#d&Hm36S9o+SANUs}-w>w3mk3Z{Cpu5>LG4Miun`F*#LM8iV7yjG*JvZBbajYie z_&UH;s@xuwY^}ADn7nxf8nB7|C`2L)tNfPQ@A4 zz}q!jOoJR+noj6Za>F254GPux3+3dn|BD@8m>egcBQr98MiKtYd|)K7W)H_dLm?4r z_8%cNO#Uz|Zm?noIV_+9@GaBy&`j$=-4(Z^pz=yeEi(_^;^_glJD0Lr(kAP@x8g}h zad7V-b-)%>fS+S(|G7O^s7ybEn@>I)!p4c(m9{N-t=(urEqrFBNOzsC_BP7Hj(8!Kj*a1zPod@(%fCc>g$&?Rt|*hHJ=I1%qm( z?}Wed+;7r%eKt7*avDW6maK>ZdUjW4QY@(}l>+#!es5x~ZYndOD-_5r9Mw0M%w6E7 z_juHChES={RL|j);cx3ZB=r#W0}UC*1JN*b+T5A*U8I-7?_SIQ}x(0ni<*-%2&Kh1Umy{>oD|s zu2v1X3$hk}Wf^>&1&YYUxuIW1ey2{UvHP3zd`hnETT}(*FaGt!5SceUVD%+AyW_SZ zO94W=yjE!eVwi9M-|)X(((x4(tBEIj$c#l`<#eq^zyP1{u>~$8{&+D$rF3c@+c=)d zU^3TD80r36CExV`J>%8+RwQa1vQ=XX5n4#E-?h9WwxhkpeGvZ0+g-}sZ0F!7$mCW5 zys<*gESIna&cG_YBX5$F>n$~nK>0jT3pzubaOD{hmc^>76`u4u)wX0Qxbl)_3r!0x zrUNY$kK@^SxqJnPL80}hB7Ek@MUi=q!jQA$8>=PeWHA9X-h)L33*Rh?7HtS73jO5I z)E>&rVEeZsYu~ha?-Zkg>`mzVH1SEK&*(1?&c2&MZ00(dFC_0|B66Y>bst*PosSDq+5{<^2bTg|9z-1ckDE*bT=#zq|@;PQd0(E(llFhf%$xHU)`UcVF zZBrO;POHb&l6eiSVjSddv&!WF{zC?hMWl|<-MU9rZ7+4ISR8Qqi(HbPMFQ~~zVp}Z z_>GwB|1EsjWg|`SUzj>l@UENMc*_pVO>5qCR!w|6} zKSZ0*A1PC-KWuS}y%>?my))9h=^33KVdA7@ea%IPhIP{Hx@D33?uhW~HP5}y)wK`z z7^Xk}^w#7RW!~rC(t z_R8~Hf3-<0%KVY9V8%pWSPJ(1D_dXUqF3`N9PnjKu#f#0km__kkhHmyOo?G=!qiAw z(jgFg2>DH+M_8L-Ke7EQL$}f1cuJmTD8)2!ET>^VkUQ=6qvQ0W-+@%9AT7W=3|hbC z5(+@ve;3<=^fxF#I((xqoqq}U(?<+PbE_^0UOZnuiaR@;H%c=`t#l$E=Q!Mwu=R(Ao3 z6+BS_IAr=)S3y1oLQ^iV>gnE2(h76>1p1)7!=-rl&eWBtXm&p;I5?LE2IDzLDU)P2+w# zAL5_FdPEKt+-OO}yIgo#Wlk$)tbYwC)Vqa{<;KNIYf=UO=I~p!H5Symmz%(#(8*_S zALfcARA!>=)o<7*=6M=rR3+zDMas3oj(sn!vSX%pm9XWyK}g&D$ER zyN=zUYWJpZ^t-F-$EU5^O-u_`^(nZ_kkb0&Rkx*|p8@!m`i8jmEK72kf6=Im z8wb}CBSE1AHVh}SpoPjAQ zK!)s9HA#}22%L3h4rbxgSuKQuT>DS54GKX3{B7-oBJR8LHo@mY)v*`U57~;*2ieM* zFBw`_xiB%zb9~2A|hWp0-FeB{VgbZ zB5YQ*ush%RJJ`v7g%mil>Dx_=kX(4Kn5E<>#97d&l?D^lgU zcN5}D>S|ST*=A-{Su@hei&r{mU$bG?2tqbS6}$<&{lbW9+qUUdJHFT0A5wOrA-;I- zAl-M8^W#HamC6~-{}ED%me&Eg7I@3JV{Vb?<72%4X}X;le#LBXW6AOVdX$_POwYYO zDSa~EKw9xo5eH_Bb!_EiuF>${tl z_i~HC#6pDTXKF3KU9J#VPS;b zlReQ;nKbl{N&0YP^iTf~-P`#9U-?S0CnXwoetGKcSl@jau)X~vXdFPgrzLwj?G3XZt z(uTq#&GPKud-N&MQy;`mFc|)40VQ@LM8!Tnbo=!mCs3_an2Sk&dM^hv&Eb1^ULb(lXy*3Zn zgYG*{pL6?YTfY=aTmRiSgWm+u-$TPUXv+ud)?+fp^6uReKhaN|{ZtHS=NlouI@q)M zh7?oK5riS7(RY-5Ynr3@rhyT*p3TJLuwIqS@@H@;F?qhyye{~aF+jW=G1jO3{EVhozPhNE%2!uXXj?jaCVs7nJ`$>S!zcNw zO1fP?KYb53%?iHxhYSw(;#%KYr3JWP^2GU|Ky4a9?%Wz7zxL4{h7i-xT zUu@DhxPI23riBTyX|$mQ37K(;9>#i3YtC3U?ud{q_UUR5`28&bLq|H(ybtQx@+iFBzfNF!T zn3pPr*S@9NguorGm}H~40g2OuJc>6&Dm&6O%iNXv4R9m3^W0 zmkcM?p0pQDmG5El$edH=D<1;61+!JzP3p|=tvFDh!$+j|e#K$Qoa==m9TomFVPa*@ zxrp2)KEI+r{sCNXA{6Zyr10e<7EcDSU3(60bCjUks6PVW8_-L6-=V=83&XpG<8&C! z_o5c^H#CI)Gq)T<1EaPl6%6eT|B=Yd1QT)HP#r-q`xivOtl6HkU^@KQ3+B0EY7hLT zyG4HZ+*m_G$Im!fW&o0ME_HK`rhf7tMf!eXAaUgqsToYGUvH!#;fq`Gd;1Ww2eJqDJ8Av%1sEZc&;^6ISbc;O2L8&PJZHWP^L8 z_HkGQr-L-8uX-mLJ9=GxY36s>*x3;e5lnJuM0Gh9MnBjkCE+!ph(O)6ZW0f{%w&mw zeGN0QK1hIEvGYOXAny{R&3#jF3lOZG)=k_Tbc$GHE2@;^FSN{Go&_T&;L^U>B|RYq zLqcHQ=Lei*e-Hn$f*;2Q7o4}VnuPLfwD!AvapSgzoXtD8%y{Tqx3Y<| z<)@Dy#R;<;*FWzk<6KlnNg}|FD&pmQ{cZ#&Hb8mW;8srdUP^ldCitNJ#SPOM*SaZ@ z#^l~=YN&mTFGBGRyewekeLVrC)+@4Y7`bhEu4-FdqWX<&2;U1}pg{Q=_)hh=rz(hI zinb^z0q2ZB4MYVf&Av!TVRv64?Zx}Jq{uTO>E_Ry3hauhT<%sXnN23E`Y8_QK&(xF zdgDHKf$&wAcKJ*lb9cL|GvdCtrV|QmmXA1Ckj}T`EIFA~iS+-F%Cd3~R5#+*ei|`E zDBq3rVV2_5iBMo14?T!TQLol&``#~U)cyOD2QpD#U4Z)S2r*EV1QB5lKvsyTzOTTR zoQMOE8-653ZM>nV>HCCh7%EvAgUXKHAMa zYG`dJbOsk)Ov9of@q^%?dx{|@|LB3PnoKte|3LQ+TaduST4GXYZAiKo5^?$h0q>sO zb6&n<7ZUd{r-$=2jqf;{&@9H<*py8b*4oJwU%t(Af4cC_yWB4MTPUH~l!nY2)!bT& zgB+zT{3%>(S9@|p?Vge)!zuz#EUGEJC+7LS{BUIYXm^?Dzyqs;MB$!UV=Af`>?UYf zbU4naCy8xE5x}&c9BFVSi0l}X-5oV`)03|-+{-1fp}HWxk(kw;lY?btnyo&l@vr;p zpwq8Qi44;r`yh!@2=%jCMX)$;{6Qq0j>Jj$2480bi(7`(2|tw>SV28uMMP^T)BBd2n{v?0+LrX#sQ^L2n)6sh+}(a=S}C} z@>?k|{^aHi9}R(lH!)bGef0nua!>0~t-3J3>ck@9f$=s!IR2|I@WEQz-|N>@uNXs4 z`oXk$LS!BZ*?XEyLUriAn-A2X<<8T9t!J1?t=h}_l$E~2*#HzgHQWaN1o8DOaWa!us-1(?yQ)u_kr3UQv2NlzSTx;n-)PX%5RTPz13*Vs<3ObNX3akMy^Q=-eO zRRn5+_?$3~Q|O<6y%VS58~f^}ATfi{wO{3!MSMuTiv8$xD7Gsk7Q{ELuCJSW9IO- zQnmTnttwRQt7ZiKBr>Hn-JqB@=-?Z$b&D?0Os|rvLVmjFE+<+15mA!}9zU~-)kcJM zB=TX)1ESigW|Cs%aB>b)ld_?k3n)8JY-fC_CD-xM#NjDwoL{~|kMyc+{N2qr0E(Ro zLmN|FjoMX2LAnUKnoeQL%Mv3!{+lq3!nBiwn~Zc3@szc|1f zQz#PD+2OHdcLt&nhSg<=YVCft$nKOF@kF|@x#xXU4;qgL5lzVAXN9c&n(%?yeB0-r z@WK7hIZu52YQ=Hh=be!KGbv)*c9~E^jeMQj4I89`>Z5o+o_4>FIt3i#fQN{6cx&jIxu$-_%){K?$pG20#xV+@(ygb;R+d_bL=dGWO2g zOA<$lcw`&!X&!(bBGtGb7mO*8y3d=P7GWUqGOZm^r1v5|nI{$_VD>WY$`F&%xAuoJ zrj{Ynx`)xE@QTTOA#smhCf<0GvP|i=$ocO^Qbbx_w8IoPhTcfVJ;{>444_VAb`}hg zjMJrwt^%Fg)$ilW%t)TWCyKvV;QT4Ph?h@Do&yi(uVMOUDQ>>12!``g`8Vh>Z$&d3 zf)|WibYJ84Xj@$92K4NWa1|jnG+<)g>q<*e5;doRGi}e)+9zVv9c^ z(qJyTaW));<`5&F{^1u~gvT=a2GTtX5V90E_h{64$nq)OH;!@U!q_H!4@hZ0j5bg? zxHq8e`t83B9YYR?wb%-;X!~o~0Y) zj3u5TFL~xP$gRC?=$lRk_0YO#y99lR2+}l-&JQmk75TIcZxZqVJt%dFnkJ)gW~f_& z+Lr!4j{eWao;4zmxAG*ZJs9e7jmHK3aGKOCFB_flmzZ+`5|+j$xlwE86E*}*JRcZq zOkT3#Ibmz!XkFcp-IoBz(qVUie(c(`$?u!&V7_LBF!)jJwY*EU1_uHo$yA{u6A5VM zc=T@QCKw;9oH+}p>xAaby~cy#ine8;Ji_o7DmdGxNQaAG}6_;b5?ka9zk*9eV1RM&Es3fiCd6#5Mb2 z-T?t|Lk+SONCnv`wHNQdpaYe#K4;Ms#;gzBm)M^AGwlNiF zy`VkcP-~=(K64iifiaX=)1M@pq1C2cgqisy?#+j}NiSyZ820Ji%@6i7(SzWzdKZH8 zcQxct>x=DF)-M;AIF~7!S{+%Oc+p^Uj&fTU*FrZ;T-`tVFZz~ly4 zibbURK`vY#Zu)G4t6okslx!B2sfx~Td2aYJ*`3#SgkkwCtFs4~N0AS?`5~5*sT{%vS>wLy?ebhiq4c#b ztsApkaEIyt#x;Ukka4=O1aWw%Pkg!QYv z;!cCVz-QOnMjO9)gaUmipV4CpefG-HK0v+qb@uH>cQoJ@ z2E6cnX}uuNW{>9hT;FfjTiU{j#yi;KtxTdx<9TM8{J_1ir(~!6m_MC*IicBon0+VK zK8TW?v6q-oaHKonwIRw9Q@i$ZAVs@=7~W)OwjDi#G(C#%9e7@XO$zta;%MA<;YZM_ z#V-XlsTz&Q`vZiAv7*&F&|H7O9bZJ}L-aF`15o@)8)sEqK83;!7+Xdw`vqTXQ=N_7 z3Im9J85(sKWWI#L{9;Bl!(-R0zXv~52;94fFMQD-!G&{x*$E!v`f^udWK{B3~$>I>s>vMv8{TXSyWY(nsapNTW+ z`s|C)fjm~9S0D)OqL5JfAmOKI6hbE5F;O;`IlKA}VX>gC2cLZ=A<(B|uxWOv|3P+q zYWf`zVKnYcdX&@u^-a#AYS=LI0%J_gfX&8C^9^a7w#>OixZmeP+K@iC*^NDR&l2;6 zp3|aR!?Em3tW6=o`GY`DDZwcedV3#=`ANw{iRmE;=7T}LDmh13|CaM(;;9n<@Q)Pt zR%2YBwC1{T1K}0JyauJa{2cQY;lKJTk7|@4eQCRNVsU!}$BK2n&rZW9Zn*Su!g7qk z`cl-b@fi@pryw2s0Ph*t*u2kw#QB4L8#J6&1^s0(*oTAOb$3%xFW2(HS5l9`8L}br zvrDRDOnaO6L##;I_~bbEqmaSS*tSRhqv4npMjP-DfN1lNE%%n0JH3${$P|0J+YgC0 zSwk;z`KE&V5KFk7d5_pl$6_YMx$G-;KSQLKux2!&qx2p3gOB5q)qhRrAhA=jh{pa7 zCC|;sTI^srU}bDN8E|R@1+s;TPGCm%fC- z@#~KnXuelmj#IX`bP64fJ!*ug)A2~!OcQfe0mcB9B9vk{u&AnK)-Pf{!dqW@PPhEBKvCA zUu7~7t6G;?MfM_hebHzeJn|I9D?}h}=TKXGM?-GK#MLC1GUi2|@Q~azz)7`{H)%)C zUo{!>MSIf37}bPx!d0s3Zw>*FZh~^rJke`~xX_aQSb(u_92i^tUfihU_lLaqh4r+D zoM)~sy8o()>ynMSN4q#r5f0#izlidoYs=-P!mV-){dsRouX7wm@?bDyu9TS|B|FUeuCK4bm@dtdo8&ZQo?w30iFLy=hRABk*!Hm>n%w; zk3Hbo*jKS-}W<7P5q#8b=6DuY4=AG`?S~ zkLn*fqw9PWyQ!}uK^Om&Fo9;znN&F5B;Hg%@as(auJkiU!+rzK0uHo(qTJjh{K0xB zI=^x{5?uap&HfvcG42_rgRd({IcWptFIrGL3fkPuUNf-iqbiZ@aBR^UM{w+=TY)g?837+REnQ1N#a1rt=*b( zzQ@$}gVmvTK@rsbtG8VPcvGiQum+v#GngYHb`E+EcK6tmc?x`}Bcrlqn{rUfbd?1q`B*3FjmHFh4QTgH+R+R#hs*sH>0nVjS#rp^opyS z7RmO{5;mxP{iE$IRJ1y<2P3%3*k;s?*(!@Ey>;Cc1F z*hq|>$Njs1T}~{T;OdOK;6;JHzALxpERtE4OU^&Vak^(Z{ODbGj;hw;9S`4HfxP#| z;@_pbT(?#RPO3+pxkO_^!B#VO=fN9&mX&Z%8MTTDnCDSi=((8Z{s!dE0oiQ$`?<^T zx$vzcZy%1m)Q79ZNZ?*q^7$s}RMygQOZnHj6@ppwS5qDwh})4zF&W7`m-3d!{`kv? zUWgyLq;`QRq)&#?Rp^hWDUJa4 z203!rN`C_B+~P9l4E>Y#x&l?=n*#l3>-hJ|cXPMNNOwOZSsNoOXpE-Dt8*;=T00G5 zCIJ-9!Gn^J z)6IzAJ4IT;Yru)W+35;(7{S z84o=_^xjs>$2|Ba``oG504uG>FXhv+6Ux6q>1$AVt_*SpXI^n*pJ)jIg~xRpffx%5 zd~yK^AMY9a=?J^~UOgaVtES$_!tjz2`K53uRIF zFK;WL^9jsJB}|{|QgJ@@6)n(iT<>&h@=9((ofgZqx}fs&Yy@1-WS zkj{_UQJ9eRxHENj`9E+!UN3uFJ4n+Wu|ng<8?~p{IakOy{6the5)L8K{r7=Rg{txq za}e?W0enD%zba{922*CJ^bNrzmOn$KF9_0MC>%&lhhlgiVJT>7=@5Vb!XPvutc8^b z$3PU}@o)~pN$?|t)8H|LGvK!fPk_%5&H*hw9doLo2wPw>!euZI;YwJKa1~sHupNGc za2>pY5Mw^VZa9iC23bSWF%PRmcqYt6*auq>o&(n*yZ~cVI$Q#uBD?}JGScB{SdZ{} zxEV9h58*YR8%mYukkX>Ogm9VS@}MR*FsHaHvMdM-!d zGK5> zCc<~&j|Hok-llwn1U&%TRF= z)EJg99LcbeVH3j;!#0N78J^8>55p%J9$^SN%Vg-#Z=w-$xrE^~hK&qYF$^*6W4N8+ zIoxVDm-jH-&+tixhZ!DW2rll6VKKuJhSL}}GF-(l#ITRyc80qd?qRr};gbvxGd#i& z+$^7AF~bsu(-<}~T*a`D;dX|*8SY`YpW$JK;9)ror!ic`u#e$(hPxT=VYr{+lMD|t z1TRZqIE~>dhJ6foGu+ScFvBAZA%$nbu$W;9!)Xi~8Lnd3$8a~p{S2REc$nc4hLFl~ z7*1ojieVqa-3*^(*qFweXE-gLYcdQm>|?l{;ckY9Gg!Wl*@gcr0yj)R|2i4cFjfqKnUD#y(bJxQ zXV??*>^%oh=JTL{;syHCGX7UN9rFiSmyXDm!wiJfn6y!c7h5B7C!u z;EtgLk5mwxHta%#Qv#PFe7b-r3%TZ3-0FlXg5dzwd8dKOFXdACvplMkkxy`w^IC*2 zIEj8Fo!}`!f@(T(Kdql#Z+YrQqh7u{2P@i2-ERN z|1!Z4{=2t6puZuSh0u>r`u%$hdT3GkK)*|0h_C>L(M=fIp^6q(0`xZ#M*{t8HDw5k zU=%{k6#1_PRssFSY&FpD%a2A_3Uvs}F#gluMH-866dZ>z0OJu>U`C)qC0e$M+0j%S zcO60%>Y)+K4G2}tmzuCV7NH8`(DoH-pzfs?R28KDYO zU@n%YB2;nb%*S#gLi+oD3+avxp^ACeVl2-@NPkOj36^Igq~8@>O1G*ARorFEv3wFj z6?fYySe}cJ{`H?z=}r!zio36sZj=$Kun0m}UW`!1-PlI=#|Tw88NzhOhLHYt?OH4^ zN2tOIh+z2?gev8DbnA>zh0~xD%dH4i%=+lp&_W35UjU%rlxRb!Vjf6;0V|A91rvJc zz80a1dEgmX?m?)+M%aw-e9Wg5%mBAy`9kQ$@M8k|n+sK}kJIJ1uACcuK zdl6PCccVoQS0+O$j8Uedoy}7#5H3)w5H3=y$s4Mp5uU8pAzY?5AY7r2MY|k_t9LSL z>=K;YJ@5#QGF=&_1eLwY!^$s}uapt$O7%ANH>z8!)+TEgX*;z?w0g$|N1x+z$8Q`J z&U)v)&VA0q&QF~Ga!$}s*Q5H6^au5i^&PHjU3*>saAmmj-P7G`+*i2Yai@9adDeL@ z_FUz8$nz)9+upx;zw$;?&QEzD<++rDDPN|1o8suBduH)(4b$(Ij82_Umi*5kr=&i> zzlWpIzf2jY9n9pXtzLHO)B<`Yx2-G`B@g{udi>w8RCl3}m-w$db!EPwxootZnFHmC z-wYaw@=Eci41daT6r<3a1kj6A;7=v~RG}{k@?UqSJO5=R3O^_E_t`qMF|JG84gM1G zJBiJVAA#$5zEMRy&%ozl*rptYi}B}r{JBHf1)rjQ3{`hQjd};3%YF-=s|OL^1IKB* zpjrD6>ubt3C0{ws@gamAW0k)-&R6E@AHrOH5B@Z$bM@oYU%Pj~?VermGXDI_bGdrA zcNe_p-2-2E8`LknzXkdks=lq>ld=mQPuT;n;qxyk=c8Pn*rX}rTU+buT5Dlai@AAr zIMx{5+|{-?7K(-EhT7Iey26dIm>F5!6AMpSZPny9RH$i-879-2+}7GUBNFZI2yJfa z2t}iby7g2-;dZ%mjg8@X;Z3o*;n+H(orQ3N#o-M-;jXsu0wdBDOH?L7W8@fHjBXqz z4#5m{@|@!gGZYa$j2Uc5aY1!sg*LHvlhG9mMY_bW#tu4>u~PcH(8kExP%L6}%?QOp z)PN^JYM6uC5`?wkSnH%I>snh;dRMeNWQMz9%{Z-CWKAS&CNxs_Kbe1>HUGK+)2xfn zsBZ8XAvw0WJB+b9Ub8|YLD2W zaHxHLSI6cgV)M)mJ)w?B45^)@3)3b9?GmvQLeX`L!!e@IiA3pnZ0*&-+(?^gM2$7E znx&DhhI(l3iXoKBsXxY~ERJ1m^@Avj1g&XpZR|3-Hg_65(H2x&?W)13b%RptkvglV zs|_E`vrVI?JJPil%O{05pB(Dw2`>mmOk&N5uy#V`=2i9a#cLRR@fw7{2Eg6Z7+rS! zIB4z+tqm_i8;O`V&Z&_!eVKuj-xQ^D=NLM5l33bGYWOQ7+smCN+5e%4PAXw7XL663EQDaf4tKH~a z91deblZ-Axw`7=M8)b25qa78BLobVNk+?mPSa=o=B}y1MwK$U8(cvZ(FXgULU@%ap_G$S01tnETe3=hIHI?>dZM9FFg zFvVtVB8?AZHg_#BjW)75X+VYC#=Sc@ zkCtd=*IIJ>19-gK2a=aW!zV{i3WvKzJGl=B7d^)qgn>>uOja_GGd&bN24{g8*@yvs zdZcS`K045_*@ZjG47G*lgg1se1{qMuL@Qj-5sIxb%+5j9F%l)cH+FZ66+M=O_%fUv zHlw)Z2i9wB4|U^sj>(s+z1Zk6+rrIVG#vIm#~jmwkQu@z9g!`^swaXk>6{iCl|=d& zSdYBxyq?b07!(Ka=7ytW!?WNh?1{4KbbhYpCW@ToqLMAo}U)>|WN{L3PkgqNWBL1g4|wOmycx z(U}|30S!`RZfH|ecTbbigDK51*C5gvHhKo(<4&Qlh>7UnmXDkCdk2oT(1w|;IY=#< z_Y91rQgiT6rVQ!d=FM;#u zcw18&N(!4WW-vJsLU_8=QVuyH$=ar$tCi(4ut8Ck`1y_gdT7TMUk~nAmi88LueN{;F9fY=~A1>F57FJTor__@t#!d*LS6UNU+hcNUVal3_>`>(1oS(`fQ7OcT z@!*+i^FlfrQQ8zIi=E48XQC*)2bwq`II4Jgja3l&GCP4dPGe^Tw{ll|$ZW?A9H)gh zi6@^X`bFoYK{6sTJuZ^s=q%TRn_Nhj5r~mVQyN-Z+vw12jg_BlE^)E)Y#kS8$Jq_U z(=KM)(8g#K-A0E%LUsguiaTj0bPEekNbRx|#)bBX$h$&cSgh}%xmZ=_6v25x>_5F#>~x(u+GuqF|lo4+l4}#EUFa`Xi)5{+T#>*r*UL% zDAu+vj^Ref{2>;{WAQffc${!dHKIt<*o+Ya3p2v2dnhxUZW?EB6^_}sSL#|@qg>?W zC3hUx8>^mjn@*1*~$OuIuiHjFFax5jAJZTEI5{<(xhdS%gL^xP7ax=vY7cjY z%=HNtMsizEJ$StD95{EeZ4z{HtMO3`?1tF#U^0-2NlBX->5e5a#Ts&OSQPFEZQ@dN zU}Fq_?LBQV+X{zc18dPKz>KV2XJa+ZSxkL&(AG#$>CDsFXqutTg9*Xi*JWeK_{sEG zWOan@>TK&5FVWuNb1i!VQL^tR;dl~s%-{qfY($h7TZMM9tO7x{%s0e6S=@Igq-~6s z==|K+5!px^K5BGqw5O+>ieS=)$E_|wVCR7wbp9Hw)*jx3Pk9##jcqZMA|kl8jm7N| zdQ{szBklzZ(~Dz0?GdAfGc|b*u9?63bPPC@h<4P_*^k;$hl8KLH=yq81c6q$wkOgi(!$XvVd_iDoWx~iD_b9a*=Bmg*%OyHI`X?cxDt=pt%eE zObZ?!mPTUha5nM9rE=6(?!X_ujiTLat`)mUxXXB=LI+OKhaI7WK2BI;6|C41uNFr* z=T5r5V17SRBl-oa+-l_n@h-Zlu&LV;HwU8@7BON+X`V@;tR~bQ0h^-%WA*7G)Qi|i zRvte|;+bPT>Dh)!CCAe!8D0n2k35vuST`?##{ECGx400F%W}{)O(8r=bpWN)xC^-E z|5Wl|H@0?mbJMyIno0*O=`uOuhE0niB6a`kB$?t5Ah+-_R$QDgA=aNDE{MZzk&c?C zh#eK0ZAj8)dq;fe==}Ktn4T>L!De|G0PXTA#)KA62q#K1i4w%JsW{w69-( zmPm-2=p4LQ>^yS!Gdsea*c*APBo?lD5^j0=@S2W9jd&nW>}KE>Q#M?_b&BJ7*0N#E zT^Lh(L|G);7(4kT3=#NXYa_IX*lMBV>}ey;+|(BCj#o&g%rj!~3xoufPq;>mufA+` z@jM#8F|v`#8;F3KAYy3hA;nP}TmNjybUPue$5vlP4$dlil6h+_Z;>EP54H0~5qnn=M;L4|wbv?0m5^qxouOGw<=TBO7+WHMdeMkEt?xdxIk1&d3M8??CRrb(Js zsX6IoiTyfLQlbMWok^I?L#f!>A)eNOPMmzgI4bl^Yzoph&`SyWxPZ>ma)?Q!)({^C zDESuCmZfGZCC4(l(-XoS-6XTcy3VpbYDn6vR<8~AR}Ypj8;&W5d})oR0u$zUhr6sh z3_HEeRu&7DxRm1i1rvG*B&ArqeXU_h1SgOvai(uovM&9_idxH_2)$tYB*co^5{o8b zv3N<`QgT~)bz-qv4Aze1T37KBZI=0fMAyhl|GVUPkTmf>IGcoVTLe~wm;u>IED2pC z6JTggiXI!KUIq~9WHW%6^gW04;qlaNKy9l+e|p?z(Lb<{pWnrA1E5*He&KwH@WjVA z-}7-sjqTQbk}VHU4)9a3dhGk<+2r)A%-^LUtP^jXAP*~Xyx$3#cahP3EVgwkH-K;5zDZw%J(4L#V7Mr6Ij3z)%P%7C>$Z6xcwZX-npl2|#(FO|i0bw8SQm%TW) zxx;D}cRNwrWjJb-Zc)iFqE?C^Y4gHo2rR}B%^T>0oWzZ5)HmtI&TOw`iqrl(M4X{VcylbRc%YjS36mE}`o9Jx0 zqOjT5Sdy$i=gcr z6EA1ulvpw<-dDAe5!+sp@aN*U~2y)_%Z^)yX)= zemg-Ngr#x~(>iv@G4}sNL+phCRCZtd*#TJJ>w=ZD2rR~M=B7wgipB$@D8wk%W0Zk2 zFx87T^9w1Ft}>-DCXu-~@^zt(=@`A%h_KE6OcsU56rJL#U@ z`lc4+O+OA%colfvZC3y?`%A`JjBdUxv#4l3$rWZ8ZEObUtk+sK2GH=-N@tIRqG4v& z#t0e)m&GRuqKUn^c*}MMjyz83=beOC! z(vPG#&Kv%VZ^8T3N#=>&-y=)5&#lCP%7zO&(wcTV;I#J;<+gAX?1_QFEqw>OO0Hyek1`DK|E@hvo( zjGBpJbNnTMMQQI(Xp_$v{_uAKbbUu!p<5A-ZwWHaEt$jNZu(|=^|P6_kQt(~c=F2< zqkXgW;+u-A2}nmAf15((sI6>;a4N4x+IoDpik#ItOOR^h$-QfBoXFpu+bVS7@ib0o zj9MT4Lu1!wNDh^W&)mf|S6prVLtugtJr=|Igar+t37y(nv>?mBSr*0b#=;@9ZC!#y z9VLC?$2}xdM8cH(nV(FG`VnWx59|qAd%R?w-NEQ?wSMV=%FSJ23zOII;(I~y9yN|N zb4ZwP&g|?)Y@QLbqvHLbC^tu~lfHG)V}F4PwtRnc{6#82!&cY|#Sp`v$@sGsYM~c` zSn7fhbV4{zuS0q<{`3M&wAz?hC-OgQ8xd_M!4y~rtw4W|illTw6uR+gVyiBcNPlHY zlp?SOf5OPA9njB4Y|#NdgZDI~4GfkLhD``z;vB?7D7P5exLpTw2s?x4u#U&w!*r^V z)V636EJ9uvEJjLXqn*QzMk%Mzb!#r4mWs(nBC-W>;qvR-4Q2XPL)lSfx zcoa1MwTP3Rs1DH}cP?U^utqm>s9q0`7fKfKZ)E=0wbx#I?X}ikd!2Lkh5Z1w3eyMhkf*NT&JUzOn_^ao&l^yi761-n^+2UQ z7^X13)DX1^M=}hRZ^H0C1Tm?YZG~C`GXmhGGoU3Hm0KX3o}dI%hP2_lhBR0rN&`XK z9gMN>XuIQjHXG6m)=q#^u+|cQ)gSc34?#f=VG0u=ED*)a5%mUTo5$l5)JHTz9{OUY zAP-6wX8t$MGkb)WGjaPMIK1ylQ{-YCOqs{H#-tLHTEUQ_K%^7i3~7hGHvxa4h+d3j z4*1{!Y8rsjK*SM@cP(nemq8iE!Q>XkJ6?`pd$4~lpgjOJb1h?>rW$t$=K-+dvS9@v zAiZ!rfZRx%fvXR|193xon0#Pj#QToTvIOG_wa5?11RPs`fZGt@@<#BOf;FOQ4LGj^ zS9efufO-J?;m+XdXs`H|0$f3iF@zF>iCKVlypU!?zAZ(NqosnYk*#n;(qM`3yCHd) z*fX4RGscMEwV9)U&C^Fc^~Y?$*?SZkmno?Cp$HOiOloS#i5iB*(*Gt(D-h{$KwSZP zNQ5&sQ5|p*{h!zO!v{tBpFv_AW~eAY`1J(m*XJ z%d|hV658wWT5OFp7}}Xd7?UgrV+lC#3)=TYwD}_W1j|Y^D!z#0i_px2^h?ecu?|{O zN5(vY%Z4M8DkvR_pbU;7rf$ff9=H0ie>6lxDC*t#+O%=Cu|?KMckv!G>jg4o!H>b4 zzt)a@{ht^sEym6-2i7W7CG>zgkjcW6D@7hWW>Y(aWOea0}zwdorX$aADOLVv2U%BT!sT= zxK50hoyjO@s5}VCD3fVE3_IZkFnBYx2xo^65(qC;1NtENK+yiN($kQ~1ap`klG|vj z_yCRx!k_*FV6`x_6?a4tbFeW!W-k;NcnEy>6=x4D#rT+ZoGI4Wg30z1r-wOs!J~|K zWmtS*wpRHg3j7g#FoPFL*u>lj%nn;T>QOGjq=9Z*g1Kb{;L>Vf7nXoKbD%2Ha7PSD zrr(C!m>`Bwj~^LK+6Ym=EMbZSoWsHy)(lZ+x@5vgMU3+bCu1Kkd!w|OXNN3onp#=w#-ybIPXAz$Pe)b)<@W-_0df0j%*N9ss6-*ap3kDq}<1FdN904 zXs>8M)|`>-xFBi8y(YiW@$^EqnKhj!^&KC%jSM*jGR8jz4YSAk%IrUG>!Ak&y>Kk{ z{6rQhPT3hRhMJ8h5buB=a-(n}Xs8)~)MUgsi-WVlZ4%pDM->w9C?t*94n7t7BJ0I; z(?A!^#~7eEg~P0f99XX@%a$?3DR5N1!5qDuhSAV8xCt2z|53#p&uA5ZFMNVpIZxsb zW@-Q+Tv7j+Nx&!!!*9xv6N!l`nME zSTN0%2V>DT>VU^qOf}OpZQ}UOF{h*dhpqIIe?N?Heu6E8jAP3xv6Vh^)|~8zF{QzMbmcQwi z1=^$*XxP7w(lF=5Q9PUehUcFxL7DhAqkF$`((k?YK;9gu1M@iQ-8 ziV060SHO5I8Ev8!3Qr_}*#e~08A_=#vnNwU`1D5?&VESxm~qp;*T7^ZFvO9q;9aV&em|iYR1_x5G4SV+I|Ctfh>= zWNLt|1IwvpfN87IV#*8*up_v$1nJe7Jy_QLd+!#XY63^ug(>_ebudjR4!BzSfU?y{ zEhfgt6p;YH-k2hmdm?ebmRKQo43B$kK!VCNls<@K!K13;DHQ&T>C<+fXS*=MSX0&38l4ddmj4|Z#xN=Zwpxq}tYN%kJ|KQS)*`x} zv4UYT;Mp4~2ku{EQd9X$V^7!^b2H=(TI1~r7e4^PH8?(vyF~O-YG7ZE;u3_dnfQE4NJZ18vwFr{{9D&g@3FPBP0fV3W38GPnD)9!#J2vb>NE6k->9Cq~Cb1 z!Bn|3AkUpa+na$*C}6grTmjRBF-NX(P?F=R88gvL&jwK@J(;q6H4ICX)hCgeDF`iw|oH)Un16XE+4&%W`#tS#XTx&)H`0yyPPhVAY ze($ndwHr2lx%lKU^tcJEGy;Ll22Ol}FiC+YBDyyP#YD0oHTDRB8cS!TVf?UyD9kwq zb2w-iD&)sN8P$g*NTqKfP@Oj0tXlsJVl}rVF|`4 zA%K?2{1_*R6=w2-3?gckLgXiKU@R0WJ(nT|N#I8K5NbRL@}`aD;Yl_ckwBra0qW@2 z1W6oJcd8fq=R=`T0|fcj6UeL>fd~KyR4)pkAa*yALSYAYbT$gRAaxzM1N0FPDg+KF zLA-(#vY;F?HG~ZVa1?L`ZLyPB0PYZgmO=q1GKC%f{)VV12Z@bB^%A3yDP)X=Orh}6 zpRjNeC}a{5#{zE1;D&X5Q|@PLC!-SLg5%qiICW-v5C~!WC~6>Q=q_qz-qwj_Z%3JN^b$M$(%Hd zDP0I<3mJ_9yd}X*GLn{QU^w7yHiU`IMV07ZVFt5j*+c=*v#C3k4eIj6<}ho4B$=52 zOy$SOWB9VhlGm81ui;p(FJVU^NyDqp-45=>!rKOmGDiKnU^A| zA=D7SEg}hHrND#CgyN(TVZ9lUc~FpkvCSu7xU|w2kw`2+->D%`xB2MqP*Dk@?7$LG z>3m4A+9@O!A}*(NfKiZP^6&)8M3UDI&U|!d4uA&SfD|szf&f1S+8GuS)KembOlHFX z4f9~7tvu+A+M&;51?LcyR3L+~2EsyD;32WWThJF|8K49L6%fVkkth(mExR=WyXaCns@?aaHOcH?fefyo4N#^@ zArTph*)9eL2%dO=0Etf_M-I<~ zV+02cw1UK%My7#gsq}Rem<6D{C=?D{ocOjX@IvF&4zek5MCsOm9ei7rc@UDV%5Ye> zE(GR_Z>uJpn(%B*C>C3lS=qq}lz~EJ@E@UVK}vc`#OZ52^!pc;T$3a3NCH;nOcd z3PzhBLxSyt+YH#A08mQ04{qv4GtqR73&*H+A@WT_lyQui6%Hs^0aPb3%IF+H58xSR z{}{>*O`RyX06n3Hu)rY(lP-!7S)N5b8-%14L<3@X&IU?l(hp+6YgZx zMR*7DykPlOFJv{g`cO!~Nrb`=t~^KyfL8L+cT+G{IKH`jTSKOSTM}}N=*a>!VBL~| zoJLT$ZUF|yON?(TXpkr>DkjPXVJOf#(+^U}z|9~seHaSxf>;or58_NuMvW%|69{I; zX=KnQ)mw}LEU_3EZ@#TZ$PD@NWaETq{FdrTWCb$f$zZl8a$xC4a7pE(9|QUU&Y;6$ zY-ko`LqZ2kQ5FSBz*Z?-!Ly)`%z|fS<4zCmP9f5A(A=;CDO)bEDP-y#;JF~Ofg1yr z8@Fo*fWnfYBghWDV^Iq7@J>%OTRziW0xQi&r=lZ<(%xlFpe{sTr_?Eu(?y@V>&exZ0$lp*UUU@$C<-=mdR{wolV}5xZ z)c+~_-e|>D+Zlw<#oG@Sb+V)mojl;zmn`2{cq)~?cS(HM@keh>vcf5mem<{~`40{k z|GX(M7M*6U!GbVR3lx-xft95w7KsN@@Id~YfAT)3$lqVWoW6t+)`XDb-|iJ!!ieBa zeBp80b{{BiZGZZndS4&Ws5mGEPb%1SUeyg{;!{3i2kcrS?B(JjMg&ZOt6e>0+zx{ zz!=T_XU{kUrh4^M$Px{jKd9%6jXe>P`1g-E5~k=ARor~PaL(0 zFL%?%gSle?=&2_DtPvkU+rI-$?A)KPa8G`lhZ&CZW`u<1kD>n8@1ryMCHv1`1ZC~) z`i*J*&m-(IV?Yz%dzk!`Z_Ymnt(yIJ<6%Nmhr_1-EgD83;6LrdPBkI2lZos^5+jho z&W=Yg*r_y-gtHI_J9BXjyuaA(@bnU%zQfZX0JMT$p%_RQ!JJr-5QRCj;b{@LTg=Hm z>Y9VwIgFSI)4Ks#(_zIYqhRy^4rbDci+#+=WVq~T(d)y_KF)Q6If-P3NAC$RhQl0X zgb|-}VGH|4@3V=c$!kRJ(Il9UAsp)H;ZcZoh#o9v!09Xx`}oO~amSc5A;1Mb_Q|f< zO!mKfV}k5cxm^&^We)aHX9TR}MVSjc;J;&NgkXG$>Wt1N9LS4=rDT}G7ld$eNrBD| zD@*{7heTr`gA|#IhR38}F32OI>wMrvQGjy{R|jOURwe*vi%O$VxG(~9_$k~lcE!8{ zo+~p3gIqjtf!=@Y4j2!?pmUrx4KNzzWib<=Fqe7}W@f zDMIB1vqe!7`SA4FxDP)Y=9`cq7DyxN-%EV`t3ct!h&WF~87hOSEaHXB7C;>{w!j0S zN9kgp52Ile;4o4bQ&5A8Nst;73XzvFv`mG7;T+Hrgk_^wYjDNj zDiz(MD`MFboMnh?6Y6w!#DWkG&>Re7P(x5peW;@Y*v`BH-&_ag3Eghg;Zf>u$~6Z!vzJ5 zeWELL+bMWC5?pZQ0aqR_j0G$eKnk4M;j)}U2G)$~4Fj~E6sEgQ^@M}yi7!dvA{4P9 z9J=gOFBC?}!efh2RPjqTez}H9fvjHRWW=sqgK7fuZzdxRih#;Gi)aYEh7) zFw6suz|?B+Crl$u)O|*R4>aa9p#%nP0rfH%;GYbPkjr3X@J9iEM6wLi4#+U+bGG3-$xe1O+>Ld!t6ySgx?4F}CVpR*|PU`?^h0FT@}2RD!B8 zYk*t;7f7=*w4?>O2Zp)_D)MmB7zYohnP0FwfOig_NRqjk$vT=V4mS=00{HoQN8t4O`MT4BLR>vZ8-=WMrZM-iQv}rU za9RNj%yNh%h!zIUl!WOMFul<| zifJV|5Sy|BIH}X%wjJJH?lcRy$E7?hP{j+Z+yghd(=0)gLBWB3J{ZOZB@yE!U~KNb z3f7hwHjjYKah>n%?6%NdRl!A7Lrpuv#Z&I#08)a0iMca&7Sd8unqu=IczAHJ%Xwb1-#kdQQ8~EW zdTy>kRm3;XUy0x4Nms4+O;0%{80ToUO{A~xE+1`OoIHqBLIe;4Tfs2eJhUJ5L z`5kasu5anoRMvkuu+;E&O8LdxhmB4_PEE0)s=u2HW@@3obXXt5UPeYliIyH5`LbqH zjbx5gqUz1Aiv9BI_WP9Yn&Y_Nd+-47AnTq*`yci1O zgto5L`p7YfgKoRpEsyjO3*85U1oEqN2X#Lx*pKl0@ywA`J#=>U&ShD$yNt_kE|t1z zd`Uxab3@MRM;4!SmSvxRE_hRVeRh&P=daT2=bA@2*B{JzK4Tr{v4h#qjSH5Zxn=z` zdhb%dma{bn&RDF?FfM45`{s7nm}3WLi_nRK2AnMdIl%%yW(Me;x5<)=xBfXj?3#Y| zA?l7pAAiSu=e=ny5J-qvJa0bFVZv4H>tgB4L>rPf!Hje}b{3h16wA?QS1eT=(5Th8 zrcu1nxsjt$vvGOxref`4Qn4Ssfe=F!u%0d5NbIEt9;Y1Us3aZ2#^2IaP#llQ{*hqusadvr?;Pqq%V(^rnkj9vcwPq z^V6+3R0&@fZ&;(Uo^m_+;8N!>&iCB!*ltsXg+5i8Wy$#K?K_sTRI=E;_?KqRH|1_p zV|DEQG-I#D^PX}CV-@toVzXjiQKDkiwKo@+*!6L579HU07U@>&*0ng|XR&BL?{sV@ zou&Bo;IM`ECtrE| z=LznkT;AAqf_8%aH<@m(*!TtQieQk;6Y^yW9=r)v_fZN+;hlcHC3E-fx1cu#vF5Sc zSF5+Mm@baY@roQW=Ko~jHGGFvOL&;r7}&__pI{JbKJOQA%u_uH!dOyyRtL_&`LUZAGyOSKD{zL#DcK z=lbQ9+xhfrstwwwMP-=kHq7FS>3Vr;UGp)uh*Z;hpA@BQ z<*Bcm7pV;frbX>Az59HwqkGDw>*cj|&3DuWZPTKTncl6R+u)S)<8|{)pI%e7L65Yk z1k<}O=QenxWV)neZcNGaNbxHuH!mm;t83Qw2~0Ar_elj7Dzk^ z>Zf*V3Jn$2lnidJEE(as!5ww6IgQ_>o;^Bt=;YDcV#DjZ*-M+b?&T#?`yWQ}4RFPK zU8)q`=DKojt4N$RKH%V!2kNL^YX)9 z<*8fC9@(G2#O~;EB(v5goY3vVwP8rlxv3-OB3oDTut0h0%8^=Dd(z#dkGoQ%q%fayux-CzoSF7EX ze7MEfG09fr%a>bfgRW|WAG<@(*nI2RzM~q;VAXs1ygufNe}<#^I*m)}=5`uy8y5&w zeUIU-SFX~QYN+ZHY*%Sq*Zsn4EB&Lc z`2E!4UCn(jZ~P+b$PacsYUV2xw^ta{?T)R{>r?LL%Dywdfj2s{d4ya1U`xP=!*&0? z3mx9^dzkXfMrB_{2cwt+yQl5y|zFr6S`26(hZ}lvC70)w&D5SeS;+4O> zCp_`!hYrVR_ogp%l9FfWT^Vk;CoSI<8N(BOy*Xrmrra;hp^=8zS=V(&_y!{O z2i+dD>z3T#m;RHNt8KyCq`Z?lF3)PEg`$tS^!8$#+eZ+iGLz zj@~`InYJ2TPjp#|^m`M^ulB4|=>HZubA%-$DJUZ*X1j1)(Dkm7>;9b$ZEAzUjb(E# zVRu=JOagTe4Dt`O2*nI<;M$PcEjS=3H1v~e;God&wcQ^N^^WZP^kHMdo!{?E*3CL) z6406H^6^}vw9NaI^jamJ;q9dvAJcjJT^36Wd>0zIKg`~(qVnT3#hvYyx25=1|LBIY zkgW|adA#pSUT35mcg<-Vcxdr+u4eU!Dpyp9yz__Ys zjpBfhPzEXbR&&&=Oy1~S?$JUv8r2O;xg6a;%FQXV{JgC}X$|)S0n1-XV7v+fxy+l@ z>@=#+7<07^+PXLC%zY_T_4C}dZdv#ES%*Hpyx=D3ab$D!q1Ec;g~LMGA^ZD&YL}H1 z-sw{q);i8JtXr-r?pNTyS6W!MPg*mz;8988?NXttz8tRpz)XW#?}akVT4zXcEr`TF`w0JM88>- z@A-EQ`(7`Rf~MIA-!=-EicPE4T2(8Nm^p**tNn$*J74rSos=z5lcSf>!&ct(%(Apk zDP3rAU2|nkiR57{vX!dgc<)Wc;M%zTPo(=wQ_KzqIq+?9^OD%1zrJ-rX596bc&e=a z+q-hcH`M8wBl%h{uNPSR3f88X1X=s?7A&wn;2O8-sC=Ku(dYh0Wkz_O?N8qb;&`HM5WVB^pyr9~KMc&y zf2uW=aJ2m3x?DosvN=U})f*-KOS4us{yy5(8W*ao^d_R{>GhSjhwO=MXY1M zzvZvg3CegBW3#(0YEi>%)gXrwtC&kdwi|_yn$+B=57R&YAj~BBmBG=odd{DJ&J4J- z_Q0BzmR?`JuUQqC6CS32b#P_Yk)pWtAurjon&%E#FQxU(F3MyrKhVA3NIl_;&*PeF zt83mWWoRzj^KnhqognGumRWKO7c7#0wU1S$XhcfvMmm#eN^oq;#qpJt@r5tA+5e!#d3u@as!n`JKjZbialx5I99D$88no{ zHNd^E_8LV~qBUZu^F*mzhHy_tna+YPrPc*P8IDnkZU9<9rN0@GMb?#VZ*QCRXkL#9 zUB9}dO{HU7xZb0->T8c@o9ttK+-Mf^-8w`*y})&sog|v3N)) zx`Fmpywu$(samgYrs%il`_x7IJNl2dcl!qLF4tj+G?1l=3WYg3t(Va#mI`6}72UOX z&UBTQjHkYS`g2%L5;Bj(hu`;*&=8p+esJ|&?vpk(f|vMzJj!Tvy0qcZ%3D#J6UlnZqx52-ktrd%0mCt!>w8Oy5oyCIu@^tzN>%YzJ1Ku z3VyYjbEw-g$o0JjH@ZEYjw=!GK4fucy}eQ*dEccNRTb-(9!W7Z6~^}$Hj2HCqu#o6 zOTRp7Ry+w+<~_ImjTdxn46m$~#L z{i2gos^1UKNBli(EUKS)c(+I0mv~aTU7xdS`Ry#Mrm_7;{v{-1+Bt)R zCKB=@T!RDR$zl0AmZkTKbybrSdUkG$J{4i#A3C(OnS;BLPIKVhz2s8@jaTH%9fIne z>MtBT9ruDtE=Sd0_Vl+ot5vxpS?|+~Zxr7HAEzI>W*fA9(Dd0Ow~dSKi%ut9_Doe5 zm>cXEoDz|#-h7{1vr)`mxJzN}-uPvQ_82|-m=I@}_*3%4@q1Eyom`ckk7mYwi;z6g zn>Z{gn-m^KTDB^MXIIoG2Yr>!7woIJ*;wksH>%FD94b-Cs}SZ~?xr;-e`&^h`x!g# zNS<`~6uSPYaN}AVg3HAnYh8`zZ7rm)Fv=jPr6<<^8fG_d&`5~8pxoPe=1%?DCr6!~ zk}ZPw^E~d^9sfHwCEx8zLduLD2U``llHnl@>8`Fb4af3Y9|_+RWNEwFF?=QF*NItk z?sVR~nv}6VGGVi2`PVR>U)>dtdN=(1p>wTp@D5+#Hv{L4Wo)gvt2WbuXTPhvzvjzK zf8%HI*UD9Pw5x_C`q2cqNnr*e>O&Dd<(dnIyw&NbS7J}q+Zx{0v& z$`q%!8`<8fExT-)#-@GE`tsM-l($c$hfLQM&3o%}x8QA5b%V^|nCniG9$UbFS1#6> zUj#ZVwmI$c;8ar-Um@n#xWhid)T(dMLN(?0&21*?gPNvu_3T}H@AnQ$y3f^H?bF*g z(=__GcZ#Ehb1&CMljv2s$dGQ zbC)%|Y*a>WJs%hJMwL}9!AgI=l6$A;^Y z&mo_AVZFZW#WNM@XIpn4GgL|4e)@`{y?lkm$?(P58}+X*kgl4qvTvF9^c&4*Z!Wnh zk|=!Auwu21`N?qEqy#?mmMc8j6)xesQWh%vYIxl|EgZ0G^(hv88Py{mYyCD~yPx>D zNp0<=4Viugaq~4!Xy+(t-LBu#@%^;9`H1}a_K%L@LKBTDk2Ni^+e9$rfhLPc*HIuGDzq z?|IaCux5Y!I}srTmy~r`vs<2@K654OQ*+SjGiry*wdY8`^k+F85SlC*&oQH!iSK&NxJ;#pxEu z3s*h$x}9>aBff5rn>za=LP=Yj;{0guz7^TCjMQ#w{oL63-sb7*(yg^ORIv}as^xkD zwA$i_zT0mZxZFspIU=dMO!IkGrRCm%gOUZZ%f%lHvQ@T*-Q3bdr%9CiO&^pj3LD9b z>bcYQmc#)te}Q4YN|&vp-X$MN_~Zxz%UUYX2d*JhR&=$Za2nP1yCoZnNg z{8{pYx1YUj)AaMWuI1TpwCb@TRA1*zj4?j#Yt?42>oq06`lFfzBX3h8J zbw2+V_1UBA`32`onk-e*u1ncJk2BsvS(HdQTPL8n_Pfr}3Z8jS4Y%Jn-kxCC!zH?T z?}~~WpX(xS);sq~-0KQBY`<`jXj*-u@La}eOF#P zyLleYR_xS>+P?JjkL#7n52OWlta%{bAv@=cVadWDPTI$WZt=cy$huxwcW8m9ootBP zo-bBU)JT_3nr?PD_-fPU9V=eace>@xT>I#(ZOWpBJ6HaQBpLE)WCXKTk6ax3R&?j^ z0hKFfr7P;X%X#!}RBrUPuvBiY z{M?6iahIbrd2c0cw6V|j3c7sbWVZiy$AViY7dUU;;B@4|dfxkdttuW1Qk&PUSS>j} z^{{TnN}k&u=DEwPFLc{~Ha!vX*}G68NB32N#rJtqn>e5J(loiMuJ+T;ZG7e_qEt3w z;du0^xmZ z`J3D00R7TaE0)L;^6frNpGQ@;@Kb!Yzb8xqo{-rR$tK7#-Q_<_{VzCNZ$nDwUy?ZoX zRnl0`zOMQ7RP3sQK|sE!jc)4YD_L#&wjcf7EDl~gohBmZ{61BambhHt+_zV0Ay{?7hZ9M{S`OMAK)(ldRe6ZJ5aJi+&Yt9y_4X6A&4!CWxO5$x52??!tvm20Z zTP1!jmtStryBj@8?BSPot(Y&+%wwohtsPYDx%o{(e23Yqh*cH(*EOvVb>27gyQagU z(Jp`Ilj@I@h}uKZ-+xDPRoVYoN1Ofa^R8`WwekY|SKc>Tsx?T+UoBK&HE~%Vch|d8 z@|@#tDNf%7sgXx>zHrIBNKSrmCd1!Sv~u@>NR^fk2R?M?h%S>2Ui@NH`0gj^Rs^LE zFG-oJi{GfI(|owu(@x*}Vy#iv)GoOqV1ap(m|FVjH`A81Huq^o(vvH!=laLVUx*Rs zEKgWZC|j#1Xp#R>bY<-9&xNhW4`^SOJuhk9GcWr_ZLlzPVX3e3YESke%j#77P%d&g zXH8vS2QBqeV}z(x|K-}w=N8747uhC)yUyg0XD{zq_u!`KaP*AxO1s+18X=L$BGRq;>WM}UEcce;-ZYj#b0`Zf&Aa z+8v*2b=g(GBXEVVd}&1a&E22nhobvW83vYXc1D!xhM)R5@L_N2!!G}fx~u00NiR0X zRGqZ0;rQ~&^cC0T;loWIY@3QKYvXy&UcdLPb*9PnXYb5?0rTxD*S8;^knOgl9^nh&%DVNgR4zb z-<}+#sGg)dYKN#?vRm$OjpFK`uOjj~_dw1$%6Sp>gGd>zcBSP1wme1mSZ4|+_%Ag}@;ms&jf|mG7ftkkx zwhzR+9@L0P+T#A`n8WGABX5iz)?DBAzB<{iPukS$$oDzDr`SU}q&u~bF4%1RW$mKj zb^|++pCeX>8^Y^<@%DN<9w2O!ZG0WgZW3!;8cNB?qMjhCx+o+mS!tY)KYN)t!&mUw z`g?s-F7oVG}^yJ8ud$(pPDhn*~dZ9QoDCSG2&*LYFg)uQL zJ;SeVRde4Ceg89WTZvQR#=f~`wpXvpI^XpQX}8S#F68LcFMt2U(F%tT$6iKtTAjXs zC13XJT-&2bhxHOj8kQ}Bhkn@Yl+{fLww@l*dMNE|c9l%)T8;HD(kYp((_4<-YMq&W z@TC`d?U6Yp$L}Yu+YI=E&E5X$jOM%N^zQ@Penqj$UEd;g=)Ii%o6c25(pQ5={2$Gv^u2cc+3#9zW9#+-pMw@0Fjc91B(my`FdY(2b^>9zpl*URz&mVZW();KIk- zT2*N$la3!0xmI)koQwMO6CS(T!-O{0NnP@%?L6mEbYqXB(uSfNh6ehd0`=B*6Xd%^K{kyn;d5Cipsxw+f`#v$46xaPM}mkPj>@vJY57_>Vla9gJmp zEkUUYigVms`Lj_Vlw)o&uo7LM2 zIn@sDx{~PLnyba97X6_5yqDzyll%wH;v4-9n{<|?E8VEu6MntgX6veyDyLSJ1p`gN zFW%$~zn*!f*RCLK(B9^yB5QE2w?;=%MCyE^vz(l`^K)WlVx_X=j4cM-wQ@-uJbSlr zJ6MM}I3_&Gnr)FA5L za;w(h^Ha`yReMB=cKBR8VyO`II`&Q+b!e|~{(wBqdiNaxbC;h^(y#9MRktM6xG&3W z8JL$dVWUnjVEHamLwV{~r!r}RGVJffP z3@pkY-r7;?v;L#xQWG18q43R)?x(6A2J+o{G0k%GX0FGH?`J91<+jU`rd_ENBHc`{ zjL6xWT(joH^}4?BBy-ueILj-GBF$UY8#;7Y2NYXTBkvojmF*St-Z`*S(4qCazTvX^ zlykq1%Dqp@)?0me(SfGpKXeOw6CQIJ4)X{PI~?91HCIuUddpW))LB8+(_(ODl*B=4 z*Eg?%VoJr&ZM!db=FPlALh89~4K;gakUfv@Ew8rT z>$N|AsoPVNyX<$1!$`M!-M0e0Fu56~Gdm+1-)F{Tzq>K~;#AqouJ=QwmmUn~s#7Df z%bVyzGxGN}QMEZW&a3Hv>`Q)DJVT;NWsy_BW+_FPeMJw)&`s{+Z zSwTk(%w|0}9MaRg+>o<=6ZzwA+vzfAT={oqbta{_(nzYZj>XM$`Qr05&&|J6w}Ya8 zT7pCF)kpsNX?f*}zgy$0HjFH5Gav4M(DgnkD#p~ZLRj)(*iAprMf0P+x}I6I`9`LX zTtiE&-3vC1 z98aryx1VSEwV`*_8NYVDvT8WeF!Fv&k?qy6-$?~G#rOO=v3d5Y(2J*!F5jKE>02fH z8f&7$2kT(DnD3unp0rMwwy*YhqO+;O@g3=rhYSUy;ys`0^u2f#-sW;aO~ICP&5~x1 zUYV;KH>y2pp56IyY3x%6Yp)Df`!j}RH@+uxIuuxneUy?O4Bn_&x=`}jmz#BRvwT&r z&1!noJ@aSO`^!Vmv=exLe{WE9{FPsJz357BR$FFx;D}$n!g``z&`I^P+B*()&whzz z?i*P6J5$8+tGi%%lyFUUr*RvFkhHF31 z7zwVfSYI2*kzF92*5f_XP@(YcuvqB|>B{dRo#%Sm{T8j)eL7TU@u^f@?e?{^n_n+g zva7u6?b^G*a0NZ?P=)am`QJ}MmT`G_DMY4lh6-ituyEFWb?e!hCaJ#P+gCH8=TO>$ zjT)?cym`wS{hbSE6U$X~7YeoUq-zJ|Cf`$(*|n|Y)Ik0M^^s-1(rcQ&`p=W_NPCj7 z-_BYyUjB!OqMH0RmVmWUnqfRMT{^FaWXX}=q_Sd!rK5VO)p_G(XnQKmn$=P>C zB+lzr-YhTSNa3)dz`L5-@vkGVJ#es*{e5R{e=qx8zrA;)dSAHurE>TB9X38I72nNU z6}59&^+#R>gQ(c#Cq*3_Wfotkt=cu)r$h8i{+hHxbJLEMB6VFGDz?phkTRT^-kx*w z)R&5rf~U9*Lw@t6E}PA_QIq#c)7x~jo|iWQ{W>&8f-41Y>4rL6C)t#pbE&<3@9k|0f5O)%$ki{<-5q~Z2_7R-0Lfop?fL)5 z|Mr7`26sA!#ZJzLA~Ju9e0UgvKbyq_%#Acw;zm*h=QWrm<_OMkLnljY1==eY?pM`)ZF9e8_sMJR-uR-5tFu%(g-Ju?XUwXk>W54a-J$~yT zbX;bAzz%VY-+ARvOve$-{Lz1^m?N>Q@M@!~@W^2$#OZd(Oejk0(xkS4Y2U0MS+@@<&jl9Pco0LJ?)-m`qww)N{dJyU>{zcLlzNv9A zF+e(*J2^A?>&Ms!2+EV|=&n!Wd&-nLX9VSkWO!^-G@N(vkGT=rIl31RIL31p|6Xu(zZoD2(x5I=&+%X8_+!(qNjS#q z<)3@a{(H^DkliGYYj@JGn1BQB+O3JcwNga(#S9Y$@RPqJ9P8!y55*M!Vm08tKxn5} zaGU_vlz_ew-GDGLziA9aA9A97RHw+JVL78?qKqjpQtBAoiB$O8jA+!J~lq3X#19_9sL`lF2B?JhB6wLqp&dly!$u`ON zeb3*IHFwU`Gv}N+bEfXz2VW)(Aw-1!KL1>Z2Za1LNBrl18|km2`JoDNZ~U3o2eiGO zX+7}x6G|E_V?4)55LT}qfzICEK#@04!da5T?+QKs30 zb4A6qKM~?@8BN58rMvj|8uR-<{Trn_ju4651*P%y)9z8}r|MpmTqj2XZXQknDVE9< zdRY+VubHTe(ez9CY~3wVsNr^yn=m8p1p3uol8c1tc9J_bC(~zTi-YuCNUxi2H`187 zwYuRD0%p66kGPXiVYe&*`RjxFCUXACTwlR5-6_DT*2k-D*XeAT&Y23Q2RS0S|2qA& zAbo_}Z6LkjScGrFEb5V*$?2N2)tb{w9t2s`q+-@f5>XAW*(a@0nojP9+&z??qD*~Y z1}d0IPQgz+KTJG}6L;ywSi~sJ4ge#fVmkDqWt8Tyf0W)=M_nv8S~vRHW9AaIxrWkQ z#LlAnvZ&8+DbA$C&O9_~gTAAtkFbl>?l8P_P;n(vsX&z3g5MVn?{h>Z%OY!cXkJ?L za~L~n`VlHKxbvBDQzT@#3s6^ASzQD;<0zl|ZD2zvqrqlwA3akdU6bfXHr-i-Y=`Sk z6W7pQG{=@s)rHyL3Y@6$RxW%oQss0bQtNb~5W#$!t7Ki4LKP5|NIaOBCZqHyl2IkPLmADeL+ZwKmdN6`yf%&Xm#q^b35ObFnjoQRxJyvvEEB51As(4Y zYhhFh75}}dejld4oJ^gHWmhePu0T3h{hdpHJ(oec+@+kRV8*f?h5P}!EVjO*BAaPB zt3rs-5VkMkmKD-uoT&Us$yg#%aAlUuit`NbffY@*bobGT<6@UXrh*RjhILg9=$jPJM@w%}46;T7AmdAAu-4Exkaa zCSn!pns;tk!E-dx13M6f~0V{tpe zEiaK8H8-NE++K+`h-FQ?nNWqsF^g5Ey9%W)hultwbb8lOaVl_Xoo9smC z2&Em(e1%LHQwbSUI|f3V?9UxOK-NU07zO$!``y*(xD5kirKZ`)zYPQ96v)4~aq9}{ zke78GruP_CmE#!i8K0iApBmyg!NaeuJByLCK}uAjTI|TAsfV&qx=4KZej?U}F?86PaY*Hmxn3!7S+6oRwXfw9L&Xbp1I4jq3PX z+EFTYydN-L1?2pIoC?VM0qj|%JM%%r(U1o40!a#f683-=QL$C9ePd@5oHnUvFS(OA z-kxbLUhf{oN@nv3b=}?D&_0I@lSC}DCF>kRo?8%-d(9@-QyvvGTPBWLbFgGmaLbTOL|wPG%c2HWg`&1Vbj<;kGp0vlgj6< z7@?qO*$~ITVzLr9LvN=ZCrnqSViwW(SsvVGa-k@*FBk{F%|e~w@^6)dCDfs3a#CJs zY;_kawn-`*T#vI1fs>TTNCg&nyP8z^(l8v}9g)lqEtipaP=iE*+7?p8IRV;=q@|Ih zg#}AzS6Tz*a`P&eA!VC}VA}{;Ux@4I8)hP3)QdGNzDB5c6Zx!+_C5$BAh(H#b0Q3t zhKToZz}>XzeNI3`rZ96y>Dg}6vkdBNmF1lvhxQ!l(^XLeZuc@>(Ex7ud|eK=U0FkU zDrATRyW4d4Bn~E~NKd5O{q9eeU?Ve|PbB*#bBx!ofh6J!Sr}4=O zwQWNq4-B;!EX>?MJMib>q)z&$@0^A)a?3DUNCU)>ddT4DG-Di{ju*zpcZEhQ#DU2- zR?6ku)b0w_Gpv-Sz3dN5-d%=2+?~e5UAZaZ{lSpqooQxQ%ADRiL(`9_lY_t49N8)9 zxX6%^bVR*uus3(-q)Q@0OKni4_V1kZ{NYJesSlPXHI;rPJ4ulBYuD?n#gdlc!iu!i zFzG=|s=c2?VAcORqOAJ-q{d6GV=c@>=GOMC6if81t?hN(1-G`>8(Z5OIMY_Aq)Zmm zO0cY!$*CbO6g*e9or5tXFq{7n3E6y_>8^vKB~`kbRVk|ocRd=nXWW|>^*jG8GcHY= zh#e_(#=ZFz(*R45RE!;Q4#6PbV6)Pp*-^Yq-8+XuGJO5JMcLof9AO82VM#PZX`1Pt zp-^&w61OSqeUp;JS!;2rOi^xVQ1o-YEl&MMR8!e?J|RDrg!KN0%Gip&x(}(;lpaX) z^ti;kTX8<-kac6my&pz*?vt6$lwvwJEY!kxH3>fSGRQE-+N z+UATzU?UWG^H}Fh5a*?+lDUoOy}6}o%2Fz7)Xk2P)3v^$KfbevrcXzrzIIBI+g}2P zJB}bjch3S6=gPosH2yd8aN~}p*!2K!fkX2rl?&mRO?B{WY6CK(o(a;9Xe1eX0(2*O zdv6k^r9QAxCU?(<+U{Im24y=_ruTQSyPu%3DrSJqf(Du&p92+YdYUOtWkqVb8_>b1MlW87mV6ZgoAfTF!b;~;&JDVA3I=*I;zkgf?HNwC z)maZcY~~ti%({xot)+6g(gaPW)`A+~Xud{w&fSJ3^Dk}1C0z+-u5Bl->E&Fr%J^hSqamRCL1N@ON%vji?CuI@H^h1F z7vcPp`Tv6R_WuHB@b6p_f)U_fozIF+u%bOXFr8Tf>?O6FD0_pm4h%Hi zb9u0E*6PAc#aiBaWZET@N5)#LL)V!dt70v$o!B$AW3~+MIJ@UP81XF=|Gx0{$s=Md zpC@PC-my}`9kY72apaq)ZM&=E$XLrw8-Ddv$MHQs#B{{_m>R>TWbx>pTRG%kLCCV6 zYdFNP{E*o_=W~c1gcS3qTi(b39F;%L^2P;VWqzgQb^2goPuZxlO4Itl0&oiAnNR8i z^L-#qRFed$yP-X+h*A?VG0L3E1Pe2MQQFhO^?-9#f2vIwSWlCErMOfkoLycdPA$dT&~SbRnreb0c_F@68P0 zE{1`Fgu5A@8^ljygKTjCPiA=E0G`6>4+`L^3?CA}J)Hi?0G`J1aRJ=R=}!sZ=?tG1 zz%v+LAHXvi?hD{q3~vhH*$jUjozCZ~Xuov329z@}yH$(jJv` zno8QsNikRk9c6|}I+LTI+!}WoMWxJArOf8v2JXdMH$ul{O8r20p3zv{4M+glgb^h4A7C-9cC6)v(%NAz)X5-X+8bnM*B^ao_31c#raGcW4QNoTOI;6uW(iD~&Y#5q^89oL7#lV6`g?W=DtFe0In9o(rJRS*Y4A_k12qohzV*>&?=@&Y^lA zD3Hpe^V4JTEi|s$5xK0_Jx(HNN3s&m`sLUW?qYsH@$AZUJVyHNN2&%Y`f~Ym8Gby& zxd_&PVHAnS-t|Oc1JkNRW=BNoMCu)4B<#P7<+Or{l24nmLMTtN^d&aVrI5rov&xz; z$3xPYNG?VVFH07b%C|~SI^KL}cU<}Nk$9}5ie|pD8m^`IySiOf0NvW9);VO!dLM+u zB^D&QAixajGA?0eSF-S!OuyU>UzCNTWV#Lc3RQy2uUgJTd^2~2KQ&y9z-w5TE`^e~ z4&IFOb)^*!^!xmQN(n6Y1D30R6@CDF26X3YP@CtJZ8RS&Qo+}A@mH6Pe>Iw#w>VoU zG~3bRyot1(-tEL!Fg)QB^AmC?y@Gk*Tr03shS{ymXZ7Fy;;bvf`Tyx(l#&J~PAey0P{!zcIRDVheFG_r$?|L*#fJ>I0ld;yR#n#%G6|M8zJ-pO^nM4GJx5NCZ^6*uUJC@L3~9`UohVUG zrl3z5{RacrNdF=DiS{3gpNdHTVM48g=%QWlc@Jvi5!}bo?WnNBxv(v0)}Upg6VhZd zoI9pPWfQiCP=+ROrlxh*Ww_rMR)n9wqA|=*)WaEsUFN?YTI)2LRqh6lnijttgUe~# zO=g=-Ie3s2(=m(u`7Cv-hF;_l_3cD`O^(DKZ)th5VFHr zOu@zeBSJ9^ZKfYco9TX~9asChZ?#f}NBRLrhGRC70Bs|@j)FYzS=y@BC+>w3!$yGn zO$aGOF~NHTVPJ`5G11P48xl!fX0e>_0KcQSKfr~_^#FSJcja_L0=M!qhVDEB;5Jw$ zZs3)MkO=q6+F2KK{O!O_rM;ckKP=}CA@`BU`#aNI2vE5Y$0g4?`67{zvd* z^gqh_n}UBNgMZ9KMB8xcVLbK`AkT?ylQD$zvhgYwV$*pFoyg)J)A=opNTr`pOiGVA zPa~%9c#wq9N~H64wc$J_u$Q3Q5$Ab|rhvymgtv$Y#*R!TT;9z(Z&UmrSzmSR+tH8{ zS`%n8UyM3Z(ggp`Jd;|8;|dc^@q)%?usuKsM!W-(;?yi3YG}_G?i0ZINpiNjpJF*2 z`>nDi8TV&`ck+6!gVk(pS%;{Ul&6^cb7X{&6*AtfRHO`HGp6(l3^6hw=01gx1z=Ik z{UtK(p<|_rWg_lA&FX6n`xjC~+)oT->Mynj&|_eJ4vEX&O*B+WY8L?{PcZ{{%Xm_p?jvF_wqX+NL2 zxiFefNMx|sr5kb19&tz{!p*opQW>lxqoSVrOhk#+XAAMct=C@M8TQ@d5$NIm+_}^867=qxmdJ z_nYvVx@|HQVoXE|=De>BrtE0JB9L>NE?M=7X^^u)k`mJ_8+#n^`5R*7gE*=I|F6ZE zkL7V)oo4VKR%i*|euBQ7AZ7E{VCq@qc@CC-r1X6uPXTpFrD(a^A!ud{O4%&bk>_D} z(kj|?{{%ayhncSQ=$|R1>&Fr>-M0~6myQ&xz4>X(pwUa?rFYOx2T2oZ>g@EvCyKiL zs2ODcp1@<|yHM}F3aWMAQ}#n6$!ty+Vqzc<*QCp37WRr#pXeH<`xgkx`z#`ZINt33 zl_kJ?ow7MEY1qb?_5{v>dowF2>_S7F518?G?f}i2B5aZHc|BQ&#T~CS33??$ z9QRiFx%tR}+pA*v6}MxB4m)1R*-{nG z52~MCS*8kOtOX@uslLBMIKND4$=Z==E!*#e9c4${PYI%*X;fCRn+9H}BdE+`#`|(5 z8uj2XeH|g`hpuI^qL(EJIL91j1X#FsY`NUc>M;gss4i~!OusS=3>Uq8e};~0_f?L+EMSR=AanubEN zu1>!Z(=kxEm2o5VYgjIkFEN-1t5EZz5u&PHmgTQ)cB3qLME@n?oIEpcdhe0nF{zMr zwc!~y0TuyH1j|+GKz+Ms*(yV_-HA~&AE-}RF?HbH^3T?T9weV)62=#w9>e%9@rw&R zDFXfXMKpZn|C)w|SV6y&d8}(i3*taM0dnTYnJ&pfVqF%eq)4mcyuLRLiEw70kL$Zh z4JQLx?f-hvHrKbvgH5DzhqlEQ-3xF$Mb>#H{Z4_blv0$x|DI(rJpGa3?_@3q`kaPu>8 za~5=1R>S6fMa->(oYTmUb(@&v?AwEhkfoLkd$hbm>4X;;xt7_mmUV)ZyB^W7zb|(! zV$qrqR~nkIM?rFztoHY?n+&f$07e*IdjM4AYf3LdospqIcM)M1HBsZK6?f zc&nOZtJJKx!gA+Q+5J+mD~9od(%80IO?W6t1niJ7F~HbIq)ggE6V#NAPVnl*Xg&8Z*`6!>gkUX@FO z;jOUJA~4I875a<8L}-Ot*@-bL(`lQT&a}kQC>?`UTn;Q&$O9oKV=^;4A(vz8dIaAV>rM_t34K&7vO|&}dtwQf=*VOrX){;r@FbcF}O5ROOIb)G& z9CVWdUdFL>o+wVslyYFE8Mk@8Ji+T2?QQ`Hi-@t}G>=70sRLk)j5Y=bN-)$;sm6J< zz(kD2O=kiNhv7~HN>`z+oxpp-w&VQ?xWU2R4~Ej=cxe)1irl5a(&9NB86Q})vrF9? zuhfMM?;a*9rneoGn56kTDU*?O3Tq593e6;`xv3cEEW`N+x<-!zb^w@$bS&8Nm~z*^ zI`kHrbAAk5ah9KPO~uO2^`|+J8LM@Bk=+|tBTmh@QA$>*H@(FKxzkaJ>CONyGs(&0 zpmGqA>oQ7PU{8LX9Ns@B!xGz;w(cEP;}4(Cuz{9c#am`cIo<4NvIb^R(vDh_;Z(KSKIdcb>ih-Hn$2aL&H+v-be|AC z!@G1CdUA%#6pHC`6Ducao3xyNLOal8_WLzTSaX(a&ZHsC9b3-a-RBMNFOp5A_Sm>E zUbCI8shcNc{5@9Vk3lKZd&UQHS%1xBrc^EJJe|%8FPX2gSm9w33KV!WRU_w{a0-xyAW>u1V*iESb++Jd`h)=Rb(joN&J zuDS447jsHU$lB6iScSXZH>32a;cFWHREX~zeElTUaRW^^# zM2&}}bt=_7xv-ZVDHF|EcEn59`dxVd1@Wp@7Bo+uU+Q!PMP7G^{%Kc0?>D z;w0JHC}ku3blaGr6FjKnZAbem*0ZT)&9%-FDrDn2;qN;{#d9>aEMz+s2lb295pP

1X@Ur>cv#VJA`6nShTQrG+59o_zPOptuC+iyH$hf-5LOC>To_#sE*Lwt5)?` zSsq#QOToN~NMV`f?g{Gd#TG`c+Hm#;xDOm&Up#1pUr;(yI+S_&3e64#rQBEJj=?LG z`Cuuav>yb*;te8q8OqsT;}x&Q>Zo%7k9IK{?GD74wj9wb$f2l%G&UeBs-rtH9c2p( z>tUR(N1kDcdSw{h5OYYig1aJLw*wDS}ZUBZ*d)BtS0W-8uqHyCNW{4F=CW zTUsPn%Q=vEMhsnN_(+*ejl0j&$o;H z)Z7b4Z59P~Gp6^eo32SdCTc2Q6JwI5C8gu;YAu+uyg9_2_dcZJut{Mi zt%5C+TcyJ=Ls-r8ECiH}3gF%Ek#vaWz5S(@8qt55NMQcBR4*Ng`Oo^$6lWcJAp*;TXKk2Mxszw>bx(sRIe+yNAD;HhQw^xDOn=pk9*h$-b31oG&9Ef{RmS| zj7axshI^DIH#0N5o*iMHF5&SY9Kg#oK26H!p=BId!I4nfWJIvK&~l`usq>lb;O+)W zY08_*VS4X23aw?TBrW%7a5%=cpnD9QEO+zHI4f)4OeCEO8?o5ngE2q&Smap)g)Rl+ zXXR6gSU5MK-fi1a9%yPzgL?OI$gfti-x|7-txQu`EwWn2lorMDn!N8T?=V%DrK66y zhSjl>pMEj(p>VBx)cdk~VD9)5{VwG`fXQO-vq(}d`^A(J%N{KLt0`qiN=azXl}IlW z&?M7BCy`VA6XaB%%+JTO<+e-rx{W0vW?~S)%}OPsN~IN8Oge<~sK@jUQN$u^tk7C)JSvWkS0P`}<_~+1W&X z`jBEKbn1O)0x`pM>adhv()=roRv{&mTJAbc9pq`Q>-w>OM)_hn>$JJDM7~ZYE-RgE z`_qP_J@JK1GCyC(-Wb=HvdW?-G)QD(e!c6_p-#s!(+}C5CkirW4m#7%hLxmMyv~ zb!P;h@Zys5mXgq6va0N-1q-B1`d5q22xX&TpwBRH=<=gM_f^^a>#HkaR7T=WS8__9wF*+R^I9sT@$i;L#1h{OzYa5q$ zgU^Zat>C!48+=;KzZ)F)?*_{d33e}wsVl)0f07@6634^s?$pEk*JW3+yX*Dv{&o3P zY;_OY6f}1g`!HQvaJ_B{H`4oAUHROY^gU*nnThEP-?ZlYetFYkQlF7TcAh4b4|C_JVXmDS(a!BuCCG-F zwtt3+#=&I!u=NX!Z)GbOcC3)Jt(bcjYMWr#R;t~*p&?ks(6edp$02BBX_S$JYVZ2b zKmYudEAa$S`6e-I`Dtfkvy-P0(@taWQZ||G7~AAE@#djU6Zuq?gn(`j!xyP z>ljDAK8)VUBMOb#w4`cN<4$5j$<9XBvIi7o+7*rA<{?f{SSo!ioM_af@&{L^c&1U4 zw$o*^jVl`c*~TaeFWc3usICaNE>ro&A-O&ca)CrtGS5t|Cv!hlJ~N3Gk0q?bDM@91 zMs=l}l2qAMd|1sprpYg=g@XFQ7iWOn)~m07AUd;q^c~$X?{rF&8myJzD#k?8JR#zdTA|9YBvtfh^g>2Z7Fxa;Z zCW$Ma^!NYI){gswRw4bmzGP3G{daB~KXm>I*0HwT2yN`&_dQ!Je{b}czcwVD)PsO`G*H!`TJKpn zEW*e4Lc-B-Jx1ZK@uPFI#poji-b&K24|dTt09Qb$zy7&FgU>PTAGYfpZr5=VGTjTq z#$~&g?cBOghPUn_N)WUmG3pE3Fi2MUs&-O|m*@PwoP{E`x5RU;EMgWF!9^?lF4p+e zNEVCd>ZrQ3g|Ih!0Jmck_Vf1E9UNOX3Nwc=ETb64o3F{h_ExkkzP>Xd`!`9uMas}f z(Kg3F`&qgK_HREQ4cH9tfC$g`Zp#hrd1wrt3rmx}_D&q7F4Y@Or!M!RzU244FR9LW zo*!_Y2+nvn1omE+&Nf-M=9^;On%WfeZL!KqX^RcD6T5X~CnEhW?Zhd%cf}~YS2a~$ z-!I)m>Z1Q*Hl`y^Gtm8u-ghx~pK1*JcVKJ3*y4S66nYSXE^hSiSa_d~@*meS_|ST8 zEJ~T7`S&&qK_ev2sM$M}Nz=HNfr}smvF4piW&z5Xb$kR~COalbmV_EX((tvJpfAJD zI?)hfInI;r#=O>j;u#NixKcZ2mJ1u-*vt9)>*p_^Pq$X)Pdxm_1y^-x$W2fuq{DpX~s&Zz4ch_J{ zUD*o56%4F*uMG%XLFVUbB5{RxYO7D;3YFPA7j3GrV|LQH4q9*vIX!oTrIYEyMdJ;V zor|tisobx#1%R?D-Ea7Q=Xz9qH(~}Z*;F;U%#4nQ_oJjOC(~>gJ>^n)u4yv0VE z`4V3)g4!)44-*yW1*t``kdc&)uDFU$Lz?bd*8ca}A}F z+0VzXxH@>3XKU-cOPdF^&En{6zYv;iuGrF{qck zrEjr8V(u_+pyZ`nAb#IwgX%ll(1UAcUoYQHkhCs{hDG6-1CVhgzn96Vv?rWpY$+nH z&5v{T(fA(MiEY6>E*<+BVe($xT@J$4GR#98wmFpVAdOFqWZfe}OJ$AT_cd52RYrk= z4wYBu5Ryw|bCMpo+p~(t!>f>TPrdYA*cMl@Z2^?RiE1KWZ}K!XDHH1!me)-8RxLPa z_Gw0S=_RfQMbWP2+o#N2Ao+*_^Mn+&eVhXf)h0=-~gO z1v`y@9J*WEsE21hszpmzxHpHl;tnY*KWJ9zPHAu61!F8_shGPl7YdQ!%?u!cqgNw+ z9Co>xF$9OHqIrdngT`+&9LjtS3dXqsF4!F<{G+DD_jY;SFeS2W;aMi^10BX^d4|x+ zE~6FMo90TNP}_%YGpjNy#K?Sj#uEG4hYzEX_tQ4tR!Hht%QdqTQ^Y$`PA6hUl#u?D zV2Kx!3YYIe8YCewhr?#c5yRWvEZd!oS|qrwK1nMgK9Y(SFYJaE`KdlFBH~*5UCrw* zz^`-{^nB?a7SeJSj*=`iA{CL+LpYLc#og}%(>T~|DsH|w^rYGM*igBbCmQ!+#Eg(Z zA8~#FZ!~I0-G?=WI)&cn8}yMKnYrOLF1fcbO62zN*VWgEwy%cws3z=6E>e;{hT9ej z#=Ap_;nSk7?9A;PzbwO%N?;eFRz}_-qE^N|bq=9Mkd8=58{OH955TuW(Z8sd?uUxF zTG{C6$nqr81DJ1T^il*56JNvYyl~y9nsi+2>*#C4IR;I4@O~n-|4i`jn}VMMK-unt zEY*9_bp0Xlkfi#DsO4dF#lepCn6LZ-9Ihy4zB6kIU3XvPkm$9fSY3 zhe%hcve(n^F@bz!hRVhQUp7o%I36Qs<*=&L@tv#w8&$1tjrcP0{V$M-QNrF^q$jXU z)QV-thU*z`)9CN z(0qb4o==}L$|UkLss&R98--86oEpNlRBUI0{E-L}Q(P005I>YlC?O$oKF^v&e7;Dx z3uzB5IYi>OLU;Cup_Nj`n6#z#haz)XXF`)Xr)mB>MVo@P4F7GEL&y4WqeKY8CVB8u z%GaUuB2GWsyM2JwukQjGvUHt`LrZsy z-ghJH*O3MeL!)pqNMu_e6=e3_=s_u=@Kokl4%$jqiZah~#vx=pCFv=~8; zW8N`ohc2ZhAVzsvcWyi{Hk>%FXRE_0!s6fKn$J*>h<};qYDeG3SGpIv|<6&p~0M@Kg zAan3Ow!eM>N$7*FaMM8aDc17&3~BUVvPPE)Nmu_u3y;dYKJ=&zb)0h{3f{YfFlno= zY5t3EywLdoL=ZQslFri@wj_3@wA24nH%-U6cSf9RvFyQq=bFIljdF;H{76J_O-(MD z;=YzjGXrV%9}>fe#8#a=@C^N)d`L}1CB@}0OWykWl{U1L108iQY}e6iD7rf0orzS> zB5s?XK+j0($b|Bplm~bX$DeTKhVC+Vaof#b2giMwlh7C0CUFe8nE4#i zKd)iGU(3njlNJ?knOXNYEDbSLwp8`UNLA04t~$ncrHDPNQ=2y^Rz7*@VAVREd%CyK1bv)gRB;!+Y+S@0`rK;8yNs-wDQ)#Nhbkz%5vr zyTJ)p<}5yZxz+uf#?Lq0hTb)(bR7PT7$L^XJ7)%uRalpirM&Dw?Dz4-KHPy)t14v( z@CeHXfH`VMgI|8TsGTO_vV0RZt-NQ)nF^hw$W7! zKhc78I~s!aO`k6Jx==sfpgUzJ+O;t5ZHjgWj^8!yGEB8_eURwZ=9hbp;)yKb>hZg! zTUoVIx5ymd-Cd6VGnOjcn#JS;eV&^9R`%N6;pRO)-v8#)E)X2egqidoFyM~fuJCZj ziy`tgMr3-$Bp;Waq5PlVa{%VjV5?&7Z+F33)H5hlnK4n35v{(=-X-|+IksH&BeU5! zV%iND3FV?+Z9oC>UsNVN&;BmODxGASj?Z{xaR>~dxgVU4V9yy#nKp{M4 zq&QQIOH!$5U?a)L+bD?`6IBk0_?VP;Mb1ArE{93AXIw90t)gZUPXT9$wj;#!NqpWg zBECwor*gYcbn!@~VZxoRVvP#Y^L|iX%O=Ro{BE$0X%?-Pi8PzcM_XRIG9qv}$YfMi zsY$PeGM9d*u~h?R6tlXFQ&KVlTKqd|%^mja2Ez0-oZVYXIUOCm_s%1)w;3?sLFQM0 z%jVuH6mJQaOSufi1zr`}9ERS667LC1daZ~q8v!vvVo)u1IcZOA|t!+wveSC!@4+)yL$;k&;@esq)_Ll;uV>{ zv-HbJA;!*y{yav$vvs=&?nr0(J15>lXjpC0zXNUb--#rp7qD!02YX+H_kRSx;MRAS z?5$p|=%1|byMvX%OPV?hV~7n@pNBq>?Z1nK7Af49*&syeJfPyGjTXHR`FTdReA%U&D}|$NjL^k>U-kWa`czU@N~Pp9EhrWM0j-$o``Kq;UNb zYd)WaBhQzqT9szy6#S9n&R^ z{pbEFBK`LXe(3LBUcl)8J}>R|-vf+(MLp&omN*XWLlPdZchvO%fJ5$6lbd_|**4jR zJ8Jq6nY+RNiro)c>|cY@eV9v+I?tfrMfx8=x{mM^Lhfp+`XOEqf!!|m5cNKU$VHI{ z5$B(~#HZxWz?gnN#;uEs{_!2X57jsVOVN*zPsZO?3hazi12L)^>HQ+cHSoP zu0tT+35yIiC1e3_7l)i#l!Gx1o=Bv-Hq01KSJ9yc(7{nj8M2_G%w|w_RB8|>gL88H znlY)ph*9ugD0AP@;WuoD`84|VJCLDwHT7x1ABy19f&@Jn*ugke_n>c- z=JuBWc=cc~5%p6vt0kTX!?|d$f+WAoz|pLGRcR?dPn*=pGlptppr3nGvI9DZlpFX_ z>%Paj3x4M>>_sEg*AiE#u4456NJ`|7)hxjOMR3{u_}`#2t%u=x1i4eRf z_&ZHKRmf{V8s6EJYe0N0n)=x9dD+8sUO-XuOGmjy@+(vW@1x(Z7xJxm`F1(pzLnuv zaTxfk?^}rvdEzo|^Mvji-K<+Ff!^*c->A2B`cXk05wmU;k{>VpbHqB%{NW7_yYzv^ zcUC{t)bUn%v~h1szaz{TRgRpBj!4l6?LYlJzg{EGMeCf1@-%D)>YvL!WWN zee|rOX{){e-B$D(mN8sogKuJgsM;0duv z0as?3{^7dF3^8W4To>`*z({ykB*wQ;B3U$WKFBoGfR$oX{-( zwpO+aI(`6sVu$P#z%*8)rM;?M{nt zs{2(915Zj-wvm5Xt`1XnrF=?yjn8Q!ol=~8k#F7pyv)YoWQLp4hdg$> z^V`4JQQuX50|#Dr`A%*;6XyNGy76q%f2e!WuJRj&c3DJWq-t%2?w9IT!duJ42+Ag8 zt0X=AI&xEG9s8?-l4S+?_r>-U@(!9Z-6H+ZNXzY4Y%m$^$^KuG&+31gO*6R79lkQ? zs?}wXuK_qMS!;EM^Di(zM?O}K*vY960_(%Th9IyZ3~USn8~wl&^*&&P)AvBo=!#)Z z_8Fp%@`EZUD2g``5;B6%?9tH3b84A?;3<|J z>ZbU|H}g^NClmPerc;ByU90=24BPAVJ~Vi1djpw$BS6#@-ZPYTBMS7k!-x9#yHt3? z`yA*Tyu#M*HBUq@;*XfU#{oQpSN`!7=}jev;ZlZ5Zm)N-;j=E&RQsQazC9WrdZg(;Z!BDjIbW=~Xr^=0O{o=M9v8Jq@FpeE*ZCd$R;nk#v_N;90b2&xxVQ8J8w!3t2mYPc;q-c>yrd^$137xt^2}HRHwDNqp9C;ZQpc zC5GQ)Zf|&uen3<0}QP`ghv<#wgJ0KK~lNCH%bq_ zjZx|E5y?k0bki|)X?x22&3gD9^_|nkbfLyV>^pB_IYK`E09GPDo6HD&04w6Q=<1;W z2k+y`mqhlFW6=s8pXF{;Jm$1Q^AENR8e<2^bdul8dO%tsi6K^qfA?Xks97ou|L((H zE7iX9wnanf2^!?Qf!{&9SMsI^za+d70UVm!Jn(x&W}2JixADF+(f>9c!Z}i&CmrY8 zvj64lC>U$VuEV#PY`tjdY99{YPnSMtG%Jiky6h>Df^Ot=j=h0i~DbgkoJnx2HMZ%t*iLv6Y$b4FJ9DGnHn>niQDEDyx+Km>nNoB=W%VT z>yNfc878FdC=cfH%?^%_)SqvMFS*pc4`xKn)#uCr5;J=^J+Drgl~ zRc0VngfS@S93aY%1<7aQoOYeRfg`^&c^=Cc4O(WEFyyZ$t5B>Z$>`KGIn(OKMsf}I z?Z@i;0s)>0miA{Dj0b(l7?p1qF^M`V4KsxJqqmT6nv9C`QMdf0Rh7E7i>?rU5%X=* zoSd!sQ28B(h`@*4sJ-^C*?^fBI6*~PHPH+ohlvvV%S1kc(gOjEQZ2822q@d^GxeJ&Sg=#s;G}v{=f#77b^Y03tOl$<& z{G!uFAf7vz6n+JDDSYL@840b+YoYs7unKGn0{78*aoYPnlx@VR)BX40aPIfZ;aN7< zLC4Ndw%qa1;3&n->FV9Vye<#Fepdu1C3p4i;A6v%nX0v?7SYffu074&NBTSTT8vvG z{d1yE=|X&kbGOk8+&% zGb$ljo2muhGR(IO^iC{O6VKEnGBwGH2)DZ?)q`8Ec8VKclct`Z=9Tx16T{J3VrW{v zx{2j?es!~^!mgOsMwzlTNlJ`mc*nx&yDGbaU*xQ@ZQFZ&V(=9~f<6eK`2_JIK0^oP zPqP?T2{u|`%ECc*mG^l7E#VTAc2z1r%aSEKuZIbscuzz(P z2?otgf;V@Ts>#yZ!e1B8ox4*I&7atEa1TJYLC@p38vwngu5fvmhI5~Kk?*3R#t!krf2*AJY+7z>5Dyj zACkI7n5moPmB%rb+kr6v&$`E&dwDLRrXS7(^2?^FIZ#pb9v9BD4hrU3<+%2t=0b(; zOk_+ljEStckd?o3L9v$cX2VUEfZLBl=5}na9qPp}U zpL5x1o*1r8w(D|j@||#Pax`DL>3>J~dx`QJG#7GRf8n~4mVw)oiFKFbYPx5*`_(VXH~EY5ov!!2C;SJ|i&se|`WASX=?&Pflv3-LO(GrZen(A=%;gUq<&D`zO2G|pRp zyrE2mikQEjKT;Hyh&iyWxB6&LV=3U)(@@I4x>4%IC^lUW*Hv$#-;2X{?2>YIjbGj` zrqog!PXJ`OcvwB*&g2oWu3C3y@%oP?KNfDOH+U(0w$8U+cw_0naJ7}^8(2&ueT4}J z4tb+kvJ)9!3g(H#Yx2H8LJYev&?VXr^3T(rBF0=Eew+CYUnYIt6wZ=Q!511M^0&t1 zr{*K<%JE~lxgP4Gkcr6O3X{LW9bva)s=5AA75k`)eUxM2cGR2e+YnkEk-rHu;?9Bf zrumW+!J9vcFJQq^^_Ka2;Y#W}?=I*XEIDm_S1yD(9Xc-@@GmtFkNx$(FV){)h1?s9 zh)&X@m$1Aesx*%$DtKj{U-ej^^Mh7GeppMUsn7DG+&BTX5dD9M;j)NAyk8P3?qZb`on70d#@8Gv^iX!XyD@mc7)9leB*=JkI^%2s^3Z;!1O*Zl*ZoW{RV;)6;}oh6BgRYd2_OlQy@hib!av8OH% zhzVJpdft*3af_r8_kx6%_GYEv?1RbPzUW6W`EoW*bGpft8$ph{pANVa-ev4%PAp?- z3aaCoQoFl9YUXYg&F@2FICm?2=7ReH%w%nIWgm|LTlsh!Mql%=pW%!&LP9ZZIFj6 z&{MuAJ$El@AAC*7H~HQdL*MGd-pr@;H;;Ic5aB=UU7;WBqr$>F zd-R}BJFgxwiQ0MXh`sW?Ho2f@c|Yvt>&iIm)URo>*-=e3EGh$>Rq_qwD9)+#Kkt{6 zZB(!YkBnpq=+41>(Y{Xa+rcZe^?Kjua;aAD(>YC}-e<6`sL^^{>-$0-fOYnhHp(4r#AiHwV@2-D|BZWIICXoVZi%rivJ8UpQOs&hIRA( zARc@MtRDsGJdNu&*lSEBF9?!*NH@G1f>iP)Q-kD~BC6zv1j*L~AA5{3-}%;FT;ug` zJvifJ@CU@alcokMMut4Mjn|0kI@(nHML~RJS$vk?8q50hJI3ct#5o-6hgIHc9J-_tDrJDLQ%|@ZfucWF{j_hUk4j)rBJ9i*OPSKGw6?7$m$!+D2S{^^x_rIg~KkJB?+3tiGv~=ezonPtjzr~~1gx{sbI?YuqsG#`L~s$l()Mw#D1B{jCUY{*0sZG(85)kIkm_cz+WjvmBRA3>N)# zDwTYhULvN~a!FJdVR{BI_0Rp|LFDt#m$}8pFg}xetdYfAFbx=i~Z2pAvZ=3)zfH1cv}8?}pHijcPsRRH;wgi6jKC*jC4V*!=g)Q5 zN&MF+#8j5>E3@EETi8FrmurJIO1_NQnJ=RQzMP}@0$T7VTFH-3wDynn`EtQfzMRY* zG33iBy8oV9$d{9ONDxGIThFu#gRBaO+Op3&zru}FlUd`WPd6)Z5qKWPv@JZNbWO>8z?g}vmTPj%b;>* zmGtmFJ$QBJoguHnLWc3m(}R6-@anpt-I7{3fH!Ds~-i)uM6oj{RifUorcEO zJAFIT6zzF=Zwqb49e#czsc$+rv4>qe)x_@~QEhm8NnW_}=Ye6K*_?U?ySR?Ych)J- ztT2xk-tO<6S$3a)4#<9|?tDw~0ct=0zS`UV1fHp`M> z=KZ$3vm{~ zxReZg;LwJl!01otqXCfFHA@Vt|;V=vo4C?3>&Uowsbvwv#c_? ze^c-qErMDjZl^>Gb^d;Z_=@^{SJIZ#;tw|IN%VIU{o%U{hpTW)_A`=1A*#8?2U}$8 zO!2#HZ?`EfuYxrUpK|H3`+ZZC1R&`EU!t35A#TK%xHxCdK~<- zZKNs8f27_NORFBKPl((ogkL-cCF|P#5vqMrr)G+Oj{~;%ESlGz5GPGUX_utno|{AZ zb-8mF+%E3KQW_M^^(xUUGV z9omZYw-(_xb~G3j;-abG$c;s~*UyIA)eg61^xnj;x{g-~!`srpaM293{Q?IqojV@% zc`kkZLQ`B-19wR)+!Gq%-oNnVW~wC$j@&pF9Jy*SYQLd+UVDRhDUDXQ&qRB_J09-* z$teF%Q{euRsqr3#G>CyINLfp@XTMz*M-e5LGi`|Hh9xM~P3HpLH6<`P}N~ z>d#$}5aUTgMv0c(r9Gp>JaSF(BSpTiE;;pWF5xhi zjjD0m$C%>fv7q7k4d@XEwxcgpInPn}Tn!~3lY?7T1^3&N5&q;@_}y`E*RuZ;c603R zTLn5#p9BA3E8L6@_pCi2^M7hW?d~3MUz&n?pRa{`5pyuhwU{I9UuHS}hucDWG zR+P)x*7->NN8%)EQG+;_W%v+wKW9E(I2I}MEEP>Glh?CMp1}P&UjhF+y^yr71(2)X zHo(2Na#N!zE~$Bjq~enikJLAa>ubTmYder@<=6%zBaU-E>dc5gFM8O_i0=~jO|iWb z6iY7v#ilUD&Td5dcew9A*a`o%k?>cy!u@L(c=S^9r9Bx@9EsSXiSX1|=4mb5(_3!o zrIxas4CImK)voU~kk+b)``Z!QTQlPKoshaW7TnXE5I>)a_BOO3@3T3ydLD5B8uk@d zv^<*7Fq9`fxSXL)1l3Oc!OT_U*BKgL1XN4VMuH}g!~;r-n<@V|l6D%uXe2>gYO0L0 zIqqi*5m%?6w%HP@rgE#qT9Ur?1Z6mGOaXEAVkATVTqL1((p)qykv_YGpm9QLsS+2> zLJiG;sFXESibEsr1fjK7iIYbmZnWs+xaSuDDvH$%U7G{cA&z5c-y)!iG+v^H?Mc+I zNc3~uw?`vxPX#qk1hkL1h@qov03As7HE_9%aalSg(v>XP%4jh44F7r~c zPy^PV753^~MbKi7dy=4siMB^^TvZX!)xy<4-OlfQa(=528Q0{Qmzwy z46P;T$KspfI)=WipszD@CD-sxaRWoAb1AopI~W?-ic)SDcQG_QzgO>iakuyZLv787 zyGK04P{-`krvHuR#E&qZlL%Tbek7jJ&{yUZS2V8@KNY`aXw@_cy-0Ma68m*X=oOCp zZ4S`m;&q13NlEBUuHhUij)l#Y}?8iTms5rmX?bG{cu1*g2F87T)v9jEMOtp5mzQm!AdqIo@y-lI5QaXjMQ z72_Bhs9n)KNqb*RWavN||5u3*#3Y9L<^%dvEZ|Z;=y--`_HVHt$K@wH)4M=3wL=(6 zDdrhlQ!xF1Ry|z}zd#`WiC4`$(B%kvobee8Z zi||#PRiaTlouQjK-)QX|hOXzh@!D4ydVryc+T~p4{o?^m*0yk5JID2C*E6IsG()?Q zq1QR(9PMU?{&ysxdD^%26&vrauh&*=T+syg*+#hcRlzl9z^$AOx3?1RVor1Zbhx)P z!##Nv+=n!{r}V--cQV{@Hr%z7ICdP|16$zUzYy-%+u%ONxvrT2_Yag_6Za1A!9hCz;2G+vyD~cUdiso z?4HN&sZ^s+jXUZOr?&T`;GW+AH`#hP;rWCGcSi!)o}5@`Yhv{R_?ItSXD{10!&neq zws8y5p;a7j97QQlk1j{66KlvVF-z=7Z9LpqXUmkf$V|yLc8af#0Y1lfH&L3x!m*7q zRueZd<|u#J#%Vg*64vWe{*7_x6SaTQ0Qb#>aL?TX?mP6u{?H_4nI{5qw%hbe;F|=ZA1bnX}w^Oxo7V(axf=biG^9$FIn~G1RkcRw8ROV&G z$5yea=T!1ncWofo?1B^}8&Lih=JKY*c@*AS1U^yfYpr5l$L2=A4=yOIi1>7v*9saU zr6xKndnx_AW{1MpbX-Xx6I-rj9ImJE)g)c5;)L!uR9jlb#7XGOx6B9cj%zuQcz0#- zX5!SBm`7tfzD;>=A$&T;J0#DY;&lUc{k|IRZ`i${1(J-Eog&HHuWY=Xa(ys$Nx;pg zX5QVnV&hk8;GSFscd30h)$;UW=!%(pKo?Dp{D8vm(&4Vt*V(n=nDGmuwcu}pBd}QJUa`g=8mYV+t`DaGg z*{0BY_NTUgNV!b$9_OvrZnwjfz;O2|H+(_L!>L82<(NA|Q~qFBN?GHk=yt-Ynp;sn z_FbBBVI(reeCi#hcyZhZjY$9TZo>cB==Y01B|azreG4K@GGxCN%ycfOd#ux>F?=OM zSBo#tjyGvygMubi#G7<+nSu(L$|ghnSV0SCXPZp%2L)x@o10=nF7sV2s_LAkq;LXg zLQ`6-44|n^RpKiFG`p!r+^3*tTb49s#B&OIXODfG>cr;?I=gatQ-es2mQb&?ylJGU zS5V$Mw5dg{&OI4jI^n3M(E)Tz$H`4&eJDLT>NSlE;>3cbB7~a8n`O`eg)=B+I~R08 zEIR8=;fNwbn_^Y7XvQF>F!ZF>KAmQRqDMmF=G37gC#Ey>mUb8A%ZYgks-Is)(Eg)C z%IAan?vD;Mh0tTs^0Y*? zeO&?clYd6dqXqqg}Qqc6Oy9wGPA@P%0_Yw4fg1$AgAf|{XRmyB;shBFB zXXy3#`!mN8^qPdU&6IMg_;Xp?d&Fk}^l(#;7||vv2zpKvZEb$sV@>}bZC?T(b#?83 z?r)YPWG5g5vP{Ch1;W0BC1jE?n2jWC6&i-jK&DJ)!psDSq74%V-<#^h=uSLqg|9Q2m#JD)^_0`*did&CRF7IJRk} zjbqNHuOJ>XpBnv)&4n% zrZT!29vb+0fd|eglvCs=TnrP($Z=RRaXH% ztSS|&pjaY!&e2r33Z^o8TYM+;oO3lSHPG_H)zGfcSa%M56*elgVn7bG!B&MPl&vmY z18d4%h_*Ix&rn|#B#X;j?R%%+R5m#3W=7Dc^uIz3QfznuJG$He6B=+A%wOo zblI3=h<+wf>XnS%Q*i||={Gdf=9#koI+RJ2`t;=Em~#3&neU~^ClJkN^mZC7It#r} zt5E+%If$ARn&tXs;Wk*IP?PJ|h`fwWryZD#yI9yRS!)O9(F5$#pzo+_ z3gae8gfle<={y6SDWtDt@Mt>zTH@2LG0^K-?zA1Sx>B$2T;a8_U6uJ*iB@zSJgd;P zXbY}~)P=IlXRFeRu7{?DdJWl#ZdGVP{=lLe;1z|M&@0&mgR9IQ?SknB>UQpeI*C#b z3_T0Gp|whm(UGA!h*qmO$XE&ly#83v?(nXVx8X3v@F&Eml^|Ky-ydPfVEyx5BM5 zrKla&?Ys>>Q)O41g+@)=Ui5ufuvntsR&H8=@kG9HuN8RO!jw$p@_fG9+a6+L; z75!44f|HE4r_QN(tmrBDoh(yOnaANRg;E*4FY~btIj($mX+w^y-frjGpN4-~TJ|(d zT`Cdz$xlPYGKt7feg>{uCS|>+_{pMY;l5>NA5OqwiQtja6GbQB*m9Y2&X^aAo`dhM zka15rUMYGW4l=qKJOh7U^a8k7O0+HKOwrHb9Y(vrmeVVK38TLv<5ms)Q_+jC-9UdY zItlM9 zplhvJ!x`vpmlFJY$)#y$;Fv;N3YHa}g@3f0WxfsRKB*y1(@MqLYNX#zTRlx+T(*k) z-PEGuKf)l1#Dx4D_#=!|=(o75dk4PilQlHXaKgK=MWIWpa}d3t(0Yt}4}5;rvg%RA z@4*(oY&B`!`|tz5*@yRGz&f*?@588dvMn%uLh<`BNh0xPwoiK>I@ZZinL2c4@dvPI zy^LE|)R^%XxUoaVt+X#F{xD9SAHkjt=7@a+&ocUE>c5b7s z7~YWxzLQx~{4pF3N_2BZQ{i9Xj6z?T;)HW>v{RyDMk_)Rjb{`KnRDzMY!8`p>>T_f zWVZ8fa8cN7=igv_SdS~fICogeg=YWXp-v&1{eOq03eoKU1XhP-k7)LP0v$4rXa7H7 zuR^JeUJRSH{{wz+poZdqz+Y8LIwANcOze_98Zy7N_+L<=(1-Ja1^#h&Z^@7 z!04Dn|DM-c{5c$p$x%rwXfGDxFEO(Zn)oDU_CXW;2ZdB0Y$CPW?1N1V=r&tz7w&Ge zM|QEb+mxAId|SocG`6GIF05K$7q@lmD1>n*8Er@3tsI=%9KFu%omfka4A5N z7$OdDk#W@bA%cD!lMuCRh-mGRDM=DT#ep8FgU4(36c>t&OC@@?cu#SOc;Ql+kK{5! z48Ba}qjruIF^L49Zi#PPX0~j!IC7aBv3E*;R6JHZsn92-uM~|HFI;A}dYss@)ok^6 zal_?u2K=<_q2lr4{mac(PZT?^Fk3xI9QeA~vdLmWuWa=na2%!>L=}gizTwspX@G6d;*5qE9Vwdem8&lNvVi26QXJgSgy zz^{rIh}3VGnpG(VeM8EHMyygSQ0O_-iG|_?h4#&Rt$3kGy;7ooINWJfqF14hvi?x) z7LO|And45Y7N03J7FVtsabUYdq-QnaS%rpFTv<>fPANnqRx5UXQzDvi9syU&kzOHj#B5OM)%*8ZrDjvkz;;{Oin? ztrcIr&TQFQ(QBj>h)zlb&kyeBY8U4e0=E-l%+}%?&zof?piG zK`)cgFC-qJ1QMXGkWwdL(*tkokq`A34 zd{4%~ahzit!~;gkX|4_8w-Ti`J4!`JytPY~Nn;xl8Q+$OPTj-eLxt$nJuLEe%Q6R! z8IP!Bw>~@e7IcY;3Xv_}C@K`9*|5U?&5ZUsGxJ)6k>fYFIGppNXh{CL&2( zDl%j~p6{25p^W58a#`FsY!%Zu?q)dJe`MiS;a2F0f{}%ni%v$nU{qnRxI*-*xIYaT zr+r<#uF#{?7rA;x-AxkZ3|{W~0H;7$zlJ!h(A^8XuI*y@%~JB8R5{_BVu3zktYW?9OisR7qF#o${cnmuic>l(3Nq5ZX2yRH=<-Xh!i&(Sxyz9pW$ zmE%%hbMANjm-r>4U8#R^{s7S{G7c8!-|xCkRNf|0`M8H&H;5Jk9d+#zYi`rqk^|os zcNl1!bGLYy(KD&P$lslHqc|=RjJ)VJME2Wtlmj=31q#i`%YmCkFC#hMZxLry+@_&U zxK(_1yI#X_*R7)E4mp1QNjY$bSZ$#Dvi67$g=P=QfxAS+K=);RM_jJZb))I^&D93F zFY9jcZH3B)=D>cj$3XXGeNWtTht$aQp}%z9BYtL}-@5Ja?;vI#^+Poz?ejsH%kkJo*Aa#kX&0FHfjHI=BE6&=S5iiS> zY5kpFDLErD?vf%n8`3Y{Ku zW7?m@;rmQ^ejxteeWpA=5U<3=oib3j^8@jjMDY1^C;UbD?w4rc3_^n+&{O7#zla47 z$X4H;dlo(tix_Q7y(c#Z(GnFm3-`qziM6o&$f0mY_9aeF_ zA2m56)kx_ZP~+^UsWTm3wbQkN2U&aI&b)D2hPH*#HmIF<7BaQxB}y&P2z~gV*|JP+ z=tDZnfoyHDfp(STXugMJ4Qa(Mr{-#pDztdwYpMOU(TB~r0b1Q*Gj5<}wG)H1uN~IW zD@B8}p2Maj25Z|6o01r;?L2HsB44}aVN()AwHF^YB~hSFf5hy2k>-2EluNO8;t|>R zkkbh+?UX{tDsC-tY2$xv&aqPMQAWFA)zI&hlp69R4{%sqABJlm{#Zx*ONMK~N2N{- zo%}$_2rc%glMTIFBKHTzG@+Q(`ueqz=> zR$KEEv-YuC?@!Fy$7zrL#H@Xs*71Z{`#5d;6S9U6E0T zKy>B_v-WY?`%joNV4U`uL_j|Kcx~%XWqsE(vTEIU?L&^c66U~%CGl}(+VEp$T$#4? zm>&0!l1YXpZ?S(~Qm#dgsaaKcB6qTOmqcmn-Okb}+V>Uea%UiVz$hiJbgK3%75CSv zFXc|xPN`BZ$$k^j%qJ!49r*9ux!M+m)|X`UU#MLxQQAj^Mg42&>w)k}f1)WRM7L+r zcLs@LgS`BBPJHZLcH+D+&x|$0HgM*DSq{~rmtYO=A3@;_*_5*X7jiJ~Fbbb4pxBp+ z=v&I$`Huw6pHFmhwqCw~VQ!+&FCbb~M$|c;^7akqXPIea38fSGx8bt&z6e<1HYw#5 zkjvk(Ov$5^Hx7>v+h9g6aU|bL^YXtey`h5WqPZqjBiN@F;s~HGWNNUPz9s~Z*AUGf zP8^k{CcY&)e{79e<1?8=@8{CexURzs*` zxfdx!50nypZl+oCN9j7%VC7IVEMxmhW?CW9Lhf%&B!*=>U5?~=<(S?)#GDI#>Bj|T z%9a!=xq*AP&rbR#$EAh)@=-a_HC)#-Ln&oxMq-VP<4h_`mh_oiO25Quaw-RyR8N_c zL+>-qF};(^teB)zy+&(zDu;LFQkx~m+O}tgnpBp#i|Y#Utha_omVI&T?`D{3h#DD<6ieJRa)J={6aOu377cobWJJD9#QRPTFyO35E(Nh8xAbm-+L zvnqYtX4MVrXv!YRdZlcytJbLo%c{-!o5s4jLG^9i-#a(4oWK;bUl+DTU&eA?*v87fSZn;^Ts8>Ip|RLH`$Bx#2CFXh?UyXM zbt3UKo)@=dC9hqUW-Z~uQu^{Mi)^7>P5Ns1h06(Lne$F^tgY(X&I`-o%d}ax*4IZ* zQrMDDD<- z^3@zJcbTOTUxOcWU03kv7Y`-f$e&HRachZ&x{)_jqu)B2r9lexl$a@LcVL6DLn-Cx z*`!4eoj0~0^guf9KC@sK3H)8HQJ2-mgGE{I^7W z1?ZP6x8c8faS68m669TiJ-P&WmmqHy@>U^l74lXgZx!-Z!w^`Fywz|Kes05m^}-86 zTMKFUFIP(gIw{Bn+H2<{?FVCkPRPoc&SF~0)WdWM(*V$^|9nr8=xcQM_E zv;;ool1qeR-YBH>y^-4laqbm#m-ecllw-6lRWp#jF=ZYIKCiw_qcaM0rK^@>I5d|y zP_+sMz z*p-8Na98>$q%8{`M9z_m9>wq*gNYxW{sf$~|04Z3@_XjLh@5Yy{}#jc5x+-%ET2;T zYVcWj)qZfmyKvh6(7?aIM@T<`6L4^#LkI_*Jf5(BwkRLz)r$&58gp`)<~yi`B@SxO zyWF-}!aa8}jB#9)Hy+9b$@38NbNQssBkoTx6&_JNiD)C!r^+WXoh}aXdvoeng;)s_ z2P_lij?l2xVwPh;X*-6u4hsm6a;~e8meqU< z>EF|LiGbto>^rdKH|5`rbmx$Ju&%2Y-On}VpeEl`{Zr%*nnd;9JNFIDH74hb$QKU{ zd>{F{vA-wmAIv%@HaZ4P`jkuf55_(GwSENASnQc=Nutbpen#aci-IQ%Ru zaUAVGPNNpi(YA5hJYqN2OTDW@{tMIEu!QtNAJYJG9!5^NV{O4zT92StS9M(44sK^1 z&>QR>;uq;ZME-r{hqPAKlO5tf#m_KInwG{XPuMTXcn;H0dv0^cypNT?z7Nn()Qb8rGwC!^&&2O`< z;__E<3y;7*U1u>&E%b3+_c|7rwb_Cg{+8`t$CGm@OtC?DX8K(ieyZe0NGIe!f|TBf z2f4H~o(o4DAJpR96yBPrZMn?J)jB6WZxh;_nwOB$8*iNXxqq+)Y-@ARLcq3l*he;x z*jP$q+KV*CW4cvQlGS#W)pnNBPUv6rh;1jgEyl4oa_ma@3`@I_)0}Wncq_MgEB9y* zTbMok?Z!R)4aoh>+0Pu0Mv^?hr5)zd4s$sHF}wd=cCT!w*gt*0Jpgp~and2}&;Gmv z$e|mL7)x>|(jVCZV$AeI_E#O0eu+luUv*FkOEgMZsg1}#Xn zAN1BpZ?*g8yyF-ksLWm3uLiF|FOJ&3mCKB=KI~+=mFWSH?@#$#LOkL}uwM@6lhixs zN!F8-+Sz#p@T&I9fiCB(ntwq7TDEhe#yd|yzv@b)YlhS~%N?Wg8f{15^C_#GX-=}h zCp5Z2|Aqv zuKm|@QchVQ%Y=4mG3}G>BnIB1`Id3Z%GM=-w!wo&r z*ej+Hr)1z+q{pV>>gk~Gc`tD+A2v=~;uujdj%}2{UZ0%#2wD=d9!ngTO>#RtwnDcP zJhtpSq8|?|P4(DLSJAITkM)dBr5PPYdj0fGsjY%Ed6m+Qzn~7UVtw$jUCP%YQ}(0= zIZcey1Z*TdFZb6cSZAdEu!OgB8XxQ1P7bfM(aqON8{K&AZrr&bx9Ns^ z?v1w6?5SyWVn@Ynq+})P1lg<8up`Tzw!|@GScTZn^4u>-+k0&Ex_dvT+|T745MrY;+5Kfa^WXqrbyO_sctMbOXJ^MmNtV?C*{GEG=K#IY9Kw z*TU0NkX|#4Y~5|8nf+!tcZmM|j&jMzxh2QB_M_b27i51y45;mQoLl|^_xBL4j0fyT zx!xXroqLpP@8Ng5N4afBx&6nPlJ1eMxGHy?R_Ua*{v`8Hij|{p>F04iFt`9b&Vki9 zM+&=OD+KHSLG}mN=g($-_0}c=kBW;~bV-faTCzBad?f zSt{rCbI{814E5N~jXu)v5Nqj5toH>BJBnUHdd}{Im$?lub1z=!@EIQQ_qo@vGyj~R z`FM`ybB;NmaqsLr$L$(%>>Ar5jdEqMpEf|+5O}JT!W3J;v1x+7SLX$~tt{Y_ZZ7jQ z(4D9k=q_{sm+1w%3H1WqfO>&$KE3=JZAB6 z=H`qOw%4j}&j>iz47oF7qqBDO{)~@s6n>a-1llJ&gY?!ZuV$nJWxbiv<9x96 zPZ{NoO0;SFc=g{Wx-!tJa9`X^E41ea7i$$7<=V#b^q_3rnQm@_n|oTvZSdIWJw_e( z5la|Mt@_lxA=6_UF>E}Br%m3-VJEb5$vd1w=dMoK#bw^+e4*q!nI~=k&c7vPpEJ+( z{metoXimO3^Cq90s;noq(9i<3|Mb@Cghp?yh~n(i=-t!_jeK~bmv4{*{!>OBki|G*A2DoX_6d8_fXPU&!IgR|>&$kR*iH`L z$l-ULvx^U8pR{$@SHVVm#>_U2Jo$&S-*uMFeJuN4$6i+(dSd(M9?SmJS)X?@`-pRA z_8S72H`Eacj{JLgqx$A~=fswNhY#0H~&zN%e3Bu`Ll@66d{j}F<7 zX`1E}pGJ+moqKbZ*dHuBob#^Zc=}n`=Gf~#nsb21{eVWjIG~ZuJfKmpPr^f^UqTL9 z@~zzKcWv~h?IhfR{KK5sk9|g?74wX?lKFH8evV5x$0eNO63%f6=QR2)jdL3P#>P3$ zdyeyBcv1lE)z_viMtWcWvt+v*Pvr_b-5i(L=^i-OPWQjLcDnb?wbOlXuAT0Av%n7T zAx#BaUKZ|9hak;?aYzS11Jc3Jjz${n+vj)=c{>Fi+&;d^)4Z?FsyWp2d zWAHN4E$}MR0zt7ZL9xRH#f}y)546Do@p~-6ElwlnjQBH#Q?y^3jk+K`Jh*rp8~l8Uou+(oHygEk3iosDue*(g`5jdHE9y*w}te70#9r9p>n zHl_*M<|Ez8DSJ8PcBa>G`kk0Q3vRHvFUo=&Z7Y#}XzM_F&US1N%F}*pKFZVnW2ECb zJc;R4`*ZpI;c4g71N*}XroU!-7HJvuLz$F8I;9=`h%hbR6tOIt5-p zItNZ6t%Cl;%iv-djI;$tAiV^fBg&v11|!|Tu~F#2@MZAr5mj&{SDTp=`rnF6w6fDh_>4vf`U;`+9`aRsc;Z2VOq)5%XAyleM}*RsEg?WrfZm< zV)|AJ*PhC0m@Z(thG{R;y-bfWg)~md)XTIzjY`n!}n0lG^GTp{>FVlUw z+(M?OnTq~gFVjkn!}B!2*xz_e0^2Qs~g+rV@$(_>6eF@16{ zrzsdG{xR}Y0oPK<6+o( zDyA@!Yh=2B=^CcTMsYit!e~yzw1g>)VGh#;OxG~&WxAK?F{Y=O!dOnv6v{Zvw09z> zXL^k3DWdP=8&$gVcN@d zZw1%L^vpa;2~|83nJ!>D+)exi?kQ*+Pr14FYHn=}=Vf||Db#YCnJ!?uhG{R;Q%qqI z=Vf|~=_#h*;k-;2Fzsc!SMnD#pJ{I$^O-Ja;98jWGTqDcSc8pP%XC2_(KSqaneJtJ zjOi(+Xp$)n(_W@~nI2<$iYY81>SEfLwdH5VgiiP57@w|9R*t9Hds5U~Iq*ZFwTC=uMyG*-Ndr^B=`Bl#J3 zJ(%@U*59)FWe?4skUcBAGP^1Js_gyQPiKFaJt${I&ZeAqb3V@bEJx5Ev(EM8w&bqN zU6;Ef_ekz5x%EI_8yVrO*3vN44>ZUE`ZdlJ$VDF`4=#d%FbL@oqy^}2xNvP7hM^Hq z2xFlHeT-6=fd0lr7z5?VnT+e*ROC!Y&P?<@<{@_haw?Hi4KttyWr2uEP{HZjre~P{=XcSpwF=kzKXl!Huwte-7dkkaTWMsHLOPzfVJ>7Y_;D}SPF1_ zUMbQW=Z!?#m@}@F{sc)m(wF8=L;7~nY@}5)=Odjuyc%h^`eLO29!k{jpuBHpQ~J;Q zHzNJduvVn&h7+BbOR?LBQ|xv9Dg5uT^y^i(R;@uAboh|IpB_MZ$W5{D&NBH|j|m}d zn-W2K(ISd%b!|p^?c~dmel3T}yl={tNNpw5&R0wR3+d0e}&4V>JB3+() zJJP%Q??w9hobOXDvkoDhIp-+SU%9Ewl@(7S^-iM_{xtRfA+=9`5$T|ma-+@Gl-6+D z6bkodzJ~OYTKYAu5!q*vE@r8|*~O*4LonKD@PDbj_r|ATay zV~tUZ9JS(N2E%D_k`!6-M#z-_jou*PuVn8x3cQ1Lx5oq#BIES)}3INJBaf{X_Z-VVOv$LpI$? z(_fFlIg*FzXCc*aW}qX7KH@;2zq2w3>0HQ1IuGZZ2J>;o37kuXbUO^ibi0idw>dZq z1^V$NK!4S67=~+*YB$JS|Z0NbU({n#Q64&&?>@Gw#h9s#mMKSrv-qi6>-+<`7Z`WSl18vF#7 zB7Fiag9dM*RnXv%^y^sg4pI%?MY|y2J)}4qq7B2jNO44j7iocLM>sS zHF#g#hBQOF18JsqCsLR89i-E=eVArCQq)Q9yBMB{RD)UC_b@ygsRnbjdoWyq6m?R& zm$Xs4kF*gfYNK{P>7Mog=^j$lJ?#*N7a`TaqtUOeFGi}t#oEIpG401BF{BzS(T-ra z8L0+e(H=+Y)9Clu{YW*4Xg|ep6sZO=?MV!GBh}zi?J1I*_B7Hfwf~3oD(wVmsrEe5 z>$IOEy-E8e(p$8Xq=(wCFz@$}YH*MCYozySzXjUgjzIbqoE?K;rWl8F>k2UuX|E{9 zb?9b$BgXyNJ_YHA_Gw7Z*=HdAyL}eYf7s_B{il5{($DPk=|@oWzc$9!DL`eVvfFaT4og29+_6%4_YtDpc=u7V;=xe8pEay1Ocl&fJR zrd$nU9kocuW6IS~hACIWB!>s-WK7urYoG^b@3(M{{#fkRZq^>xe72}Z|o?^xz&b96YqKKlp`tI zQm;+joqA8|!PFzEKTCZ+^*^a8Y3tLrrCpPj-)~C4dHvq&=Sa^?ADBKP-J5=E`o8oZ zrXNr5&e)#uUl}7Z%Q7#{?9Kcr^PiaoS@W{|*`3+l*_UTmC zPetomjkcA4WCktR6t43z{lW~K%BBNUSW5zV?Bm7sK8L+>XeVzDzE*4iY zuf46!9f)=Xy**VyZ!|i!yloOxw8X+)^VYVtl}{m*m}c?};x>1OTK&;jv@+TgYNy1= zYgifz#3odS)(1lV37+aLF@Go;2!~qykxhYi|Abn9%-}VIeg5b?AJ$P0l@0E;#-?(p zUcw)Z&HPc3Jo(Hu2~mrRX7;*x5qH4B~2_GAygNL z#_)4pIdpkr9a!?b8EtKwBi^oZh?T=8Vsy5()dWJ`V6dkg>I3bOa5TIwR<=A4nlc$Y zp%_xx{>ifalV$rc&K=-Ny^)?ZlVROtu3<97Cc`E@%M_V*3bcloVo}qlD*jZ-pL#wS zOb3*HWpu^N>EP+~uJs?z+gg@-TC3YyS2k5cRbxYIb7Ngyb+g0`{#aEFR5#W@edUU_ zrpneu(9#o)`8&&&``4B&^+3bY22X1p<*#Y3tgl|)*nF|%Suj=BR@vIx>{+-J6E-w9 z*H_j-T~lRqbptfZkLre6PeXOvvg+m*Ph*2@b!Am6g{xOI)ipL(>#(J@v8kLJatpW{moCJnQ}VW!mGui7>sr)Ew?K1s9e=X&w8(*P0qn24ZDDhD<;9$< z1r{##U>%-@wi@bnYm4kzb9D<oMf1SApsleWa@Es_Uy86pJ$J z40rXyrL}F8rEzI1NI4rYVHB{ZIQEUrD`As2*zIp?1HTt4ySjosteS3b%*$$2)!_|= z{6WU3)mGSU3AbUMP>h2^ zp(+Fs_eF8*!r={-9heH*f*AD5V0S1O_Np>rDTBt4f-JS}NCeAJoS6Km!&K1hr^G4` zRQhCkPqfL~z5(l{G=3jchoapPzv6kK$+*$Vh`)MEmp4Q)UZ0Og3OfoBe`k1;-+*YK z{E=X|eS=?CRUINj>tm~-hyCiaV%`*zO?$B0=f|Z(GOIfL?Hi~C%e~Pmw5P}lMC-kg zXom!CXu-n4P5y`{6pbmC57(V=6hq4b(Ljtin^Yi)60~&r+i@@gm#P+eryl^T{3=S7cClC%`#-5yd&$o$&^a8iD`p>b8R<%R(Ra=Hng=ZMDYef>uUo3Ao7%i z`bJnP=^L4(C4CcJ90(=h)AOCD1hjru#+278jns#erQu#KD1 zLL?h1oB`+wv_`z`{yP6Ae=xb=+~H1dAe3xKRME@)5n9murXcfm-pHz8Bx#K>TQLlSSxSnMBJ?r>yU2g_AJJ{~`;WtQPcBx|235+8vA~ zDGDvi`QjSs=_$h$>M2@nj-#nfi1~LpVZYKsqwa>i`mmR2`xTubk>qb zJY61xPF8wB=d4QG6`(TIM5p2;16+V z0})((>;18gu&TjgCpb$SW1SV$b~E+Iun$-rEpAdrq-j@X+r61M&3>Hk?SAk?mv^AO zZs{VxMmL82Vh)CRqK$}02L;D>g zJ&hsS5Nw*ka-#!nLhLj4oXkwrD8L_!(I0L#a>UzL-7T=PqJ3FyUGW$tZFY|}+ib8m zVkyb2qnTu$ zE=bJ3qBBU_5sP#gCT>@70cX*1IKo|!**d$z5g7~-p&{>Hs}>xHnn9Y>dRTfqI+Bi$ zj!Z?-Int$35;l@W6Bzmi$EZ31V~4D;txE-@iC-G!Le*@PUZM&sCs2oNohpDmZ6<%p z@E|-PiL1h$U0(9U+S%X2!HICcHsRz2+>+uXA`b#QD`@#@@NNpMXG|gwZ3;xfA?c4q z0?d}qVC5#<C1-k5f#_|*1?LBXrIA2Odk1bqNuhWn5Du*itY?I>p}tWqjGNg3jbqXH$Q<3$ z9b;}=RLws|O7vJ-AS5|$TcSapu&|uuDCZL6n4Ij!3|*&JVhxiLF2z}<^SachC%P<* zdu0mNV}XG#RZcyshTMEJq$#M3d63;BX=ZhRGBCpH^Z@In@}{Ix>cA7V3=eZ+mUJWq z4hO^XlQ&_lUeu+SVH(W_bq9m8UOj*+=Rcx>-MknqWr8}D$8oZ)KV3|1ukgj)0a_Zw1t>bS2%=wNPjC<2BeA{pfXeo zxN&+|EhRvDfghyCjUhj;taX8q%!kvn6V;h9E0Ga{Za;@H#ajC0L$ES=2qsq(6%KV% zgkOTXaJx5H?``kkEa4EXA?@8*aL-o=pna{5wtKrwP0-CehjC^r;gISu%c2$1Rq#e7 zh<0OZ4R&QL7748Fj_Kv_qKziMaUC<~6L;Q+35IQckISpl9j9B3oe}u~CtKcus|nfRU>H9=mK{H?w-L*t$%q>lX(wl)J%+nekV+fJlAF3sWaC1y zDpVO_R_X@^)MJpI4F~10`TPv9?N;}n`eekl>jAxuXsb3DMOY>Q^P)+3RC-?)=}b6; z5zO$aPg=J95f1X9gECjBd|l`_`;DU~(@2-eAc`b{jgLghypn9Ig5GWfRo+mup98!! z;}{10>nTvVetkrSTKqJzV@jL&6oK4pKW@~^+uEWWB#%mlq`{`a4EkeA-N`r`y2AsF zqaNYY70hCZqRoVfj1VuCCg1H}+r6F_u((2LmmkN|$E-CFi%ZHqHF4wGXqeiXBxA(u z^LKh98_X!2Tb7c#qp@&jV#EBAMFAf=QYPP+5`C*6{Z|{azL9Z@Ro`gKzRir({o<$+ zM{C&HKDL$8bu-!MrzMUK*N8rocMFH2eJe-J!`U9QjGaH0tOs2^k-+*6OB7B1cpG6E zijaS~x5vayw4zi-B37PRG}?=hB|;f7=EnkS13|QhW-QG-T!&ja{K25~T1Xxn>6{;` zL-Lb!cNrZ-a%v+)hDHMHqYSj@0iP791bm3e$6$IRo8_sL@CDa145)3$bN>eOHg1I&TymLZ5#NhGWuKN8SD! zeN>0nL1lXky=kdZx}A`-8M~(r<`xvpCLjZzQA_(!~ri62?%q;3qO$!zw^K85zRHqxFlmh7CKeBGCVj%8)$sV;-AI zWgsumE4d%iTUry2bb4cw@7?5A%ZwU79r4~u2IX=dUQa#~ZBp0_*GDOgIu(skuoM5W zX#m5Eiq?B$?H!;7Pa%@WW)6`K8O7Q&9!Gwn*(!OPv@j6T zqZ2sPM@wu?IOxMcB;*T3bS~}vaG)5r;OvNTDBK-Gp&3oIuGmt1Rz|{-j@}4$!OHPk z0iQ{C=|$I}ABMr|kT1GCKy4rml0mDVR_5&r;5;Q+ zXdf*#$KpfqS%)6qhaWXUu@2Nf{A`PPqZ?$%Pa7%@cJ@dP9lhg>@NZD79~G3OY+4JE zM@wtpIO(r$iCKAM>)c^FmLiERBpK?vMnl*89kRf}RW?|CkZ%zw=sylbr5_ zfW`>awFN}!t22tPMT1ApbKM2JEPSbyD^BX4-T|< ztv|?9k~^cHB;bSznztUEsB0_`;_8=Jo)E3J!6349S5_%YYkQZ@pn^@*>|al7fUYI5 zG!#kTn3r`ZI2DkNc;acex@76Yj>V_olLS6sle|vv78wXKl~;KF_5ezzI~es>27^4` z=u;gr#!pcnGA<4v(T`LbP$|%2S*$BJm_BJMuj58E&k+J!Iw@`E+Her$YT6VI2SFDl z4Z6HBWVU{BXjm=1b@Hy3hfTK$nu zzjNRB(eeb2oGWQEaGRxAmN{?Xm=`m~A)kW0 zZs=j3{3JWu$P*eChgAv9e!6=MV*~hv&TxQ1-tC##dI}20VYAe^7UeHUN7WKm_EBfa zcOCIOc?J@Hhop||6PT#R;mzb>1p~f5k>soLfm&k3xio9t_nR2Ej7w=b{7?~Sx~G#1O`8+d>o?my!!qv?)+TF%=&2kDE<R;$b!%Iejw;lB9QF}B#qNC5Hp$(z%=8%3e*BX|phM)4F z%oAD{=HcRiI#M&3Qo9+-0|yQ^bW>1vju~;sat4PzYDP-2O@?uBt4HHd#3Uf|g0@~w zOZ{}RGUQttqGx#td@?U)-1+vr%6*BJq2B{7LBGFC-3~Q|a0Nz0E)nLyGCRB2*TBw^ zNY$39mX5uR<4TFt36#F*U?eedk&DokXE@@+N+VDiG!LoO8C*ERG19AwSUvIx$TgnM zo&6D@+i4ZluM_$CPDHv(OFWcI#Pas4n1{YIuxX~sSxiAXpcr`v$WwyUN}aS?(^xQB;=D`qv4(F z8%B9876Emz#HHvwkDe%wE4OEHEL|Jpm~F-iPOldtw7x`u%%c9xLhWaGZ>h7|f_g~l zG#vuqq>}F#tTz~n)8>yu>WP+uvJ5?ro{$+xzaukUuOt!rX}FA$S4KuN^z_~hehbu( zxltSzE?=<3Ws0&}Yi6VKCU1Mp!jhU}VbGa4ed40N$RF&IgNChDKwnxFOtL7@jsP+8DD(5(J$@{#5m5fRbsmwk$WW-##&WK8U_W_TL6Wq(kgG%AIIe7bPDE=<03ZP z__zqUL5WX@)<>buMj|;U!JM9`aq_d8x&rzxUEXz9;T+&J?Md0>rl=i=EZqbP0~Vm~ zP>n4uy}zJG1-zM)Pcu}94UblFJ&6o-N@!%`&Nft3%Z5N#m)~a`>L(T@ord#8(`}>- z`BeIZBfCD#xHsL2+nYYAm1X5q!f2mZJ$oYGZ~;w@{`?YJ!*$`!{E1tx zz@-!yGlF!si1P$DqPUtCEgd@i59(LXlQ)`VC(fTU?0pu;`N^O>2UKC>tY{rtwrKq6nEsM5;mpija=t_g%kmzLd%kOI6%2;% zju)sO90C#B!~YVe@g8tj~Oo6@@N6&=v|SBOcY=WZb^T zTm2}X9M`aGqI_I*$k)gSFdX)!il11eLvMS`dmtdDD{nIMrzvO|%| zH>Ui`C~7=pX^Hiys`)U1cKuQPAr1#{%r5r#NNDM&;&_Z>eWkTZ8~bqEynR@#OX_?a zZA(;t3WC#uR&(74iON$O^Sp)+q)|K_{-|D^el`+S=NT4;Jh+RykLQ|_@e;DJL`>O4 zc`rb(YJ=YOQCfVYx2*O83XuO`0Nojr^GWHx5zFuVaU2r)mJ3E%p3*bgn8qbi{MN9+ zZNnXW#6X6xXU6M~+Tu0}l@VlE_5+OLHUrG@5(#$TyvBc>;RtV+qH2xrmi{R*D&|dX zLz^GaZ4TSVrICP~tqX(R(1rvxG4DU6vL@l13Y3sI;kG6!FTA3_mmhtMYM=c(I}J-? z0SuWp7!tF8LfROLp^ubc8_%~4^UDQu)&FnhVq;sO1hT+#N|g zku_{7?xXy{p2lFJ1dViky$5Ll!m?@fsRlR_HEtgk@#zApKJN->dg~l@0inYV^~tBN z`ip(}G}1tEvXk4VsD7}`VYhXk7zJNER6DIG$RiJaHR6vE<3gvmWyYC9LIb2T9@XC; zNBKCbvYpI0&U9taq0ZYKYVY6;ug+p~!|R#OY4($35UnSpCJ*7cR$5t9Anvho)O__M z4WdzjLU9ZM7(Y$tiXzADxG4eb6e$n@Ck)+ zRAHKRy@G%qlwZq`iV}k!-KJb-s`bk3)v`EJ}$2w8sk4gDRe8w8xt=8F#!%JX{=(GV-(J3kl$J z1DQ;I9}e3Qh^a$l-sYXB47s^KPo(tQIYHD6@{67BwF=2=7ybJ+#-nI6tp!N|*LdmH zP_gL1My;Hd0@b0CWbji+%Tbf$HbrQQ=r`-pkH-|JML)RUm5n~vbuzae_cqcqQX3ou;g99%upXh5 zFb=hbyZHK4=h72k6|~-kDONSALOe%S);E5$+Z{&%+KGJ{;+yH&{e3L-I*9iPe<4T1Iz61Adz zZ3%h1q8(wLGUO*Whr=(Fl7#WaOx~ zppGHP?W5Ox{K@YpIE1Mdq2UE`)WY2u69{#6$Ba8JHpLvM$3>n4`Xg2f%U2pI83*K} z(jXs3^TCG%5^I|ca_16$;Vu=G#JMKjKD z_<1hyLqZiaTnB{%{Gq>{kY5!wo=zx8i-y`Mh9ipCB|loj{93y2gRyWh(B4CfoAGo^ zv5Yke!|Fj2)UXRrA#$jD=rK@8o)5^=e*Msb80yId1@#RSh2_C}q=&*A@SpYUic2+s za+RxamE&Eq5y6VikLS>pvoK9b@C~jW6X&-^J;qtL<@LSJ@fr1bhCu9MU^b&W?t@!V)quCaya8>Kw4z7cE_Cd-XU9B)cI&l3-MImCFn_MactYI}#Q$N=`P0Op zgFpS4q6<+EhACYH0+@0=z}Kt5iy=K%1XIdbKWyTh%}AqM6UDE?xGYffer}~7e8_9%(r{745<^f1kQuR*5B~VpM7cz>7x8TgV{7zw#FtC* z2yM^dJWf$dk$B%Hy_u)VKtVAlueJ%Ed z%7VgLPUA*iltKEn3db3SU;E~LAK@)5GI!sSv1WS{RXy5rD$KRD?KDeNTb+H@u zkkYxa2ATn?^$rTb$}d;T`DfiKEIrJ1tgC42(<-=D43$(cm-5Yn%dnoyp#tS@@*thCN}WgHgtBZSG0jNs zO&82TT#79n2^&#fr1Qv08_DS@ZXToc3XKAhNjbY%M##Cifk%>NaTi+x7k)-~h6Hfr zr4?VNEWF-EX{i%!4z-&suaDZ8N$oa}gUW)GcD6o{*~z2Zf%%Y|-p;m$>=mSibbFJg z*9CbxkF1hcTJ*vSB{`B{xsssHfhiSgMVSW|N=IQm9gNdc$~AE=jKcJzlI9bYearvi zT-Mq|o|!LV$4<`N^=z)jkJ2% z=uc+PMKl+PmVgXj!C|Df**O2qxeu9hp#(<57_0$H8s}lVM^-1qHm;RzD9yk!)zdQM zhRLtIte*V^(;w~TzL88;;79~nCc2!dMCqH#9(&bjo4(#=mRSc#PdCWYkshZ@mDj-5 zgYpPmZ`zd~DZN~mF}u78evoO)NXjuDH`C{%(F$;%(H3oPRbFTlk7b9YRPvBqERhJW z20kuXj;P*my&kWUNC)@&i|R!yI?csvVwinQpQZk}s{Zlp|MsvP=PG@IITKMLOIZRj z)Y@v6Lx44QqLI3~Pu)?BB@fK%Q8w}~-b_bTYmosY$T*xr^FH3tJ6E9YS{x$3QIXK4mGUHpDYA3yN? zPjo1mJmC^^9LnOxp)4W&TJBkZXF_5em6gOtA8IWx!4FQ;^#lgFS%&SLx680BkX_C5 zc&+Y9*CuM(muZ7OXLX&zaoO;{)#IiF`;bHe+-B?lUtEegl5-9F3%y5{T7)6ZxJx-a z-K>Pki`FNqsRX7VbdyN#tEr$paVA6x@5>2Vwn-XBa#T05NTK(ZWK9q9-0`Zc|MR9N zvwG!f7FqY|YYi(WwFeuPtNUyduyo>zfzmsUFi+nv3tKntZ{#UL07^i$zo+sMC$L_S z&WJ%1E#B}1u9aq=$X%!Qkfx95A*}y=Cn;je`9{I3{DQH>rNLv&Ep5t;w=Cf^yl{ zZncidvkzU{e9$*HWa=k0QE0>b9)TT8tnl3?#YbvhT;}J$D#gg#=SVr=N?Qi z*McbT4@k%8WMUoHD0gIXhp<7_1-T2AOby$Z?dAUKd>B^6<4o%a=}$z-ig0fZ;!c#nX_*;jp8&jMa-Dl z(pNE0*t)s@VV;w`3JhxDT=KLl$UW>JeahE&&P^({uIn&HkEsHA66j@LAj!E_z`AFQ zUq=JXcd5O**}@+1pQoiXJA1%-#%ZoJu*A9s^=(NR`->st+%WNcEXhjK`6 z&56}iiw*MNb(9jdZlqmk7|haIm~P^!E*Ji8Zjn3~Fb`y12`Q^opQKABW?aZMHDi{+ zKRROll*+{xZFm`<%Jb};)M;il&|ji;&jTdRNJymMxT@c7^+XS zzRN81?r4fDs7_UIe((RnyNV9g1^q-_&Veu9RiI@VQOl|;&xqTV-HvY^TGGM`#tzaw z1HH@2e=3PT15Yyd%d6O)MvN6X*{Qqiv#bN=>l4oE-M617CzZRASAeK)$)+{;;eCl( zN11C=e4i5h>)!jCxYBjZj;P`juMOe{Q=f%$Zd;GB^;u0rDASrVAu+wVB)ND&^k2ZF zySN0Hp&L56m8Me6t*NoaI2R$)kC29yW70%pQ=+}@l&MZ81O*U?Bcy7GD_Y%D%7 zD=~%HR};+bN-y&%Be~=R;sVLyIV#tPK%e}) z?HyP1<llmLvYQWp>rBTZrtf-D)d0izl$+lxu+N=4rY zL~&HN@a6~xnwqzsjWxUcjXH{5(5jj4nAeiqWn46_)gA3@uTh?dM*Wgxt1-#JykIfQ zw6KguEoH%fv4}kc&G|7`N0ie&%L* zLR??vLAw|$A{~=JvD<+lHp)84Y=5@tw|Kn!?jjjK@l4(mgq8AgZ z;*MNg#*xcxC5uUhELcOTmh+gJnr0qp_nnpI{9Ui?53lI9g*fWXATM(x5VDLW=|!@# zpg4Jd^sTlSl{|ie@&$}^%jQ5xX zJOb7d(S~$af_{lZqh=nzx_BJh4X4=LG3pjHekZq?Jws_7pXe6XSE@asoPYx)0-0?gmtU-nCB0&g^8AE0?57p6ttW!KH5)aujD$R zZ`J~;*JU6!wi>Pfa+|hzAB0+IebOZ@)A`pU(u3qZz3?iRtmlba^h8~d_7iI?udtl0 zOfYIRHP?DQO-}+vq4iK}Lc)$k3~J|^`|xx9AP>=vBlcWh!eJ)lPU1%`=KqjK_Hm14 zwL#sOo6M)x+Z|y`5(fQt!qgCDxpV6htN;uoFE7zHKx496x-BWKx^1m9VzISlX1$fk z$}^?>Wm?{xForPH&2mdN*8zQs(QILQc-7bnOeW1kw;YPK)+y-CnjMYH99KyD$jJG zWrdX^0QJfC1?2sj_9L-ZednhkrGe%}l75bhvm;GE9*5k--8SUPQIYeOchiF!xTgQ# z-qirdbyes4-mdn&T}e;cC)=@;U9nCqq9l^NE3LHJpb!OH5EBxNtvG~4wN~1drAD&; z^Ftfhx5AlGh7??WhI9%fEv8{QF7Xt@m||v_A#Ktr44!Gjm^N)f@lZD*OopZ{%%t=? z=ia+-ceSzu!_P32r`5av=iYnnx#ym9?tSlR3MostS7_LJwecxV1X8@&O^FqRX?N-`hp*Ntk-C7^d zeLu(0kx{XEmO0T#6)ch4E&PMLGs>oWM6DGoiaMxo_i)YC(wfhAYgbFZyoguQeQgPG zqqO-R5&C$JhC>utPY=+#h?-Yd)uZHzDwxt_St&8gS>+#psjHhG-d{ogwKvKMzrBtajg*V*;sR?Hg0T}k$9xmOYORh)1r4N zkcWAJU#tQpO?&fYrnSh6>v~g7rJ;4BCK!#rkw9#_S=@|zNvXP?r_fF|0!#{#(P9M& z16`=Ck3)B{qS?jD<|wE3!goFU(gZ!M4Y{IOo~_QKhjbD;g)$j+E|vblE_T;n_WTLA ztIm*5s0nyPvZBi>O=WU$i5x_uZ>|(A)w=>B(1V`u-H`npsAfOS`zje(i$6k=E$&t# zF8tvo#h}G5Vyg4N%Pu}|UEA~P)mZG(s%p#b>R#>LcaJV7(zl=2noes5P6t zgKtYm7<`HovPCK#Hk8rrM)oYY)1})LxakvD88NlIrMewG1O6q$>{A>Z6u2rB9{!GK!4v zSI2|>qqPOKLK1}a@ekDW=@5qO7BJ;~{8-FQf*zE)jcf8rOV*Sr>p+zUa%*dotZj*h zlfu=K%UczkL4J&(I%QBX!^+aT>W&_?Fz=4v#ew}z3{&6h8m0{q+t3XR8T{PDy=v8^ zeOrIU@XdpAUT<`II->jd%^;szDw{0c+j&U%}jZGQTUUU{ynZd=_=(l&n^Sc*z? zI!Cv(R-q`L^(h{!_n=F)y+so}pwIEJ9qj7sMCA|_Hp+L^bzFnQzy^8Vbe*ya zY>*zmPG}8E@19qrUgP(DeebGHLQU5bXRGaH>rY#B@sz8zscHQ>A+)Vfo<&*V5fBH4 z>)5O}qK3*AY<#>_Ky11V%gb$8RPMlCWPX|6(B8LiH>Y;oTD8LOu4- zv^Hkz^l(COVw)fc-mN<8pw2O9sdS4Y+C+p)aN&>$IJknA;pVsj=g}-T=a9cNO^wO9 zIZ7SnhAlYcjH=KIHO*-d$U1AGjgDJdf!j=OgJn9=LbC{(6pEG}Y>gHgsP~Q;LJ`w+ zsIYBY0k?QOnzloUfMMGmxW$u>?SzEsb~`55`DrvVT6&!P z#pA&cGEu9L73hpPL1CDv$Ut`P*r{;BBpA`sNsK})7LOsD9YBSSZHLhy0Kt!N^aaBm zLYX))YN387WSMby$c|XSXc}4K4q+kg!~+(AkCx6@A`qiy0b;;L#eo2P4i#{Rs3gDv zgky&Uin-kZ%W!D)34Q>bLJ7yA%xF9Mc>-;UIWgq2QL{UQ(#Q~ZnydyS0u1E=9mJ`l zreh_5%xLMUFaw}u_*5=bh@@xGTp;GO*)BrdJ%9q*pV}NPK4Wla5O9c&D54FSIKd)> zJ>|p*MQE25lx6*b=tG-8FB{wuC+v>6BTP-P7&?m>>d;6$y3da8lU{ek#?J~!4~Qzd zFKC&jXrMey8(NCWVuaC{>*X713Y5;7ZKBNpqGRZ*L4I@zaW>lEHMm}wYdpp1 zE4=_BaXs`O(KOMT`5vXbOgT(t$8FgpZ%BIvn=O;^1usuZ<(JI^w4qijpdyFlPv-&E z&>h|K=8bj{2)WB<$fV#hf}4mOPSMZnkOk)5d4&6 zXt2F3D$QD$F>o9Qvv{zQInA4GMi0CN{;fm{K_PHU z&^#kD7zHxH-NAf|9!-wb297VDWx6}dd2-BQP4+)1ffmS#u7<(=P^KBR5KVipNZfd@ zT&AbBUNzVSJ3=wFT!h$lLNa9w7kEvPvy5}SJ86wrZb%xUT?8ZK#SO8z=ZQ^wM_a50 z+m3pjvhacn-y`rN5GrBW9~G_ z=@YK^sOxOBtRxzkL9$0Qz(Nj&f}9FzR;RHF#E(_Gklgqu^k6I5a;mkW50TZDGh z0S3hDQVhHzV9@%3hM2^_!R@iwIZ;gG3QR7z3m7p+p|j0u@VTdqqGc(%x|xYoCX?ulA4@yr>SC4?6M{U*(@G-F8iwXP@N}u6k|-9gO^!025mthqKq$E zP|B3?Dho6ir-dzGbj#~#&f$vAl-cMY&n%>$VcFy~)9b5}Y+o=S;Xpp&=@H|CPc_kM z&g(gT4!GWs;||I25alQy&stH3(o9pg5CI?=tUv0V#jiX<-Y_P8#VCwjiz6F^&Rb3Pxvb)7?QUt4$L($r$}Z z*E>gei*4muv)WBFeXP+cBV|FYIbE)r0PdJf>T61i#V#jDxLzt~D)!J-ZVHmG#5fjzpb-3$j)qSn=q3C#`d`v0eo0lCih|C@WMs-s z$%R9PuCT(~QsPSPR-axS%mc#IR$!g-HYnA|tYxt>YS6pKXUQ<(9dN>cbSi}rPK#Gvg zS)f|YQoSUk^Kch2+_cgZ&ts+WR%}f5QThubZj@u0TpBEyV1fw}TO`q)s{E1#AY*8? z6v@s~aDd$ab=iTeWs>Aq;M^Z2?gJbYpVn;RIE}XEH^(K#-Qw4$Qv8)Yv z=b=tSBA^--tH*f_^bynDr(P7#;%9}94vz+E3BBI`p z__sIaul_%>eUHk+bAK;{ce~YYD%a5AXcpjgY_&o*Ge8PuD}*4OBTHRI5njqV;%XJ~ zr6kH5SN{=6bCfr_nv>F2htr%0YWX9&T3{fr&NMF{qW2^*Kr+?hNfH0A!dJXq>bG$Fk!Ac;wI7gxVEjQ4YvY@s%;fS2Uj)RpHTg z%XLRlxh*fVTo7t4;z5-$x0H2k$YQGxxGSWA*rYU??g}X*jFQr@{E@)6`k?$ZwHkqT z(b_KPk4PEGRuHiEwv#YMdSPj=3t<`XSC2wHW(5QOHH^6IyR$i3dJp)7qYx%Fl3Q6L zvDoLtD2{T;IGO)4l9;nJ6G_6nm88X@r^G;SVY5YA`0Wt?NUT<%V=NqWI4lE}t^o~% zxPhbrJFy6lF~yo_WF!(@eZ&?JTS+=>lB=t1@s>n5hVg-<;;tTp-cXvw%{yjWQe+{u z({Vdd{U|LFovdk52Y3wO5^cT3ydQU?&&3LpMETFIYiK%wqfIk6=XBpjEc7*^Q+ z%KPs=xGnwsn*HX1Z#CqsJuli%-gxMP(SM3uZ(9Q|eztArcMldH6FYCttaRYy;m;ZeJE4!Rc zKRy5Wg9q1=ch7#%4L$L`1K<4cW39IJ=(8{XIQPuMXSUvZ|JDD}@V)=MXYS0-hd$JL z?(63-EIt-|?%6;7*Qb9rbj#=NZ2!>vKm3!?@5j0`SAFe~``$Ns>fVNM_t-4{<45KzrN=w6PJ3@ z@O{6&2Mv?I=<5iA^y1E-K{uLs!2sPT5}~HbcP0h5BJ$0z@4>6q+Sg?SlPduG{KtYK z*ec{)N6n~pQ@!m}r}|Wmckqop>tDy7wfF4rB3|D(>*M}ncaI|2av0--oX?g@sX z#dEsMC{kvr+yx}(9$Lte>DLY^xm0=FDJmAH8*e_H1&;L(0_?H| zB-3q*hT9CcIV=Lv0zA-^p<=~o%Z#>a00jyY1x$$ZK{CTZBxgI>jv&;{Su%cgxeH{` zAA=t{_)+MEq>`^G?|}3|MWooHw0%S+*o^#XhBPMaqiaz94Yr7dp(3!yktxSnZ7v=s zE9($+NDL`ijT~x0n)fx+)axOK^bFd+BD>)by5vYGw4W7CV=*;og9q5i(yQjvKg-lwO)c z>~PEXS+ol{LYWOS5J-psmDu|M$4A$QBt=t&59S?9hi4C z6jRYzR?PC8b&9K&F}&5}&ilI!+t_Y7&<-RZ=Y;hP8qGr?V;DyPXh1rU#@ zK2OsKB8jwjcOfF!=uO6~u=YBQf^A_O8!7wc2z$qEg)@gY7ww2fVexSu1i9yF$XbhM zXuv`KHW{6ExC^v72sAIyzNyKi@D1)u@w6m-iR?Uilk82BccDB^T~UmaoCVsLNExPy zipVs#5MkpMXK18N&}06TLG;lOPn|Iyzy)sSs4YyHMu3L6(jhg&&PvLC+VA69qug9! ze-pK(OIBd=M4QEoIL&hpq;%R5rZ!EvUbn-WknFQ)4}|utIKvCd7*r9=vaLy|gtjuA z4xOF$G)$VfCe1&G=$mr4Iu<)@zu;)l2$2+g4!00)Jk}`49OT%bFu}E4fF}aBMv?IH ze)}otyQv1+_I4tofv`r$4ZF? z7kEQD7MC_TxrQl3vtQ1QLE8LB>(TA7zscoJ=}m{|tcoPBj&!HWku--fd*i+>A?;veh;s}6Ju2ObboC$U}xO$v?%Z6YC?xGL@>6WE*) zOqDVo=lc`LZd3LVO4)}{fI@qah~eQZr^B6^F@-uME9zv%)5*KnbdN?l%k0PZ#sMkr z5G3!YtzbBj&hiwcit= zGK9q+gGlrWah(BujRVt5iCkiNF_$mQ<`(Zs%uOa_{DHa2<@<7r^iBgqIJI#pLv+zM zSQqK5Y>Cc^YZ5)lR3<@ROPrZ5B=*hC%@n#4`{%|J`xfU`mQbR>(2eNbnc11#nG~Y< zZ-%&H7lYmjJ#|iHfbF;H^ zM-tQeW6unDW-dn`V(m&4?w_BTqtCD;a!2wB`rIS=E9w>E8bj>p%Vhhry#wRj$=-=< zcX~Y2*F7+v?(H7P<_2>4iF6J<62i+H!u!1{95IXv9Ndsh_N0?^r3cu_%1|=dpX`wy zncmma*PBlDrYI*zr{sTcs!+)FW|HHn>_B>aGS{C^6>^#WWFa+?>reLgO%w|0R4$e4 z$z&&TJ-z8{Z|`Iwo5|#o+5VoMo(W`3Pi6~!xl|_K*FTW$P4-Rn=QES3o@9S+pfA_g zJCPok$Wc`T$xJqz?=KVzll`fQ>_BcjpBl*YX9jvQ`H5s-K3B-~kM~cG=X(kR{R8P# zGM^nU6#7tGPY$il=kxv9o_t|qU^16ZrpI&XzHF*6kj~@=CMJ9P@`aw%L{Gjq)6+XX zF_6z>`f~mK<9*pQrpb7=KhxKn$@F9=3q84X8u4gUzAuyO7vgdVBeyRV66Md`U~HF` z3%R@yn25tX5yOTE?p-d-lK-#o`our}@XA*|`H_#l)tVBY+4A|#CHFgj@~y}I_sRV? ze(|oa4kp9hKYH}QPsAfH|4;7QU*GiESN7i3^yT|U4_)?_w!a9>wpZTr+!sm@J=*!f)+z75 zdb{?#d}#RGW9J_J_Q1(osSQV4rtTEdsv}~UrJd&t(fK!q*neQpfjg25?`=5z)pwo# za_CdfpZ&?@G>La#fA`Yj#NA9v^4>i$cVr1Op5vK5CB5HWNp5$~jsO1L>U)A!2|MTW z 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

ppcng>#lBY*c=hf?k1{Ua4%%rX8Mg-N@U% zk5n>*hbF`~l7u?V8!bP2+J9$dvKg7qyq@sk3X+9pI6|7=ZwVF58C~w*7yHk>7UC*6 znFg0<-1^p#w&%=LKZY~r`+1#RSx;VR!lX0(ap5hK??(&IkSb`x6M3$O_t3O%Cl1|* zChlRarXaA7j+W2Izjy^FMV929)&7TvoCPx4S4QBqV!_0qpFs4HmzhB#kfAHzTBzy% zSH|50h@3EB{M<>xW>W3A09n94-*)2$k{I{w+g z@PrQgRKz~e1_m}Ggfmxn&bYyAxPg2RngWuYqZ>gSVeFSai@Z95lARrYXgD#Fo_99T zJ0xp#fg2-SwHE#-kdStf-1Iv+#vwz|-ri*Rea`EfpcQmy9>?o!Ttn^{z*T&E7dAn>Kwm16CACBK5quNS- zCJ#F?8o|4I*WZ_gccl*-!ypR=BQIb7MekBeXS+H|0B z_;p)tR7bJ<<=vH4t9!xTs8wqx&rLc56XaCA2612JYSg1`Z;DgKdHLE76B)@?BR@fbP7raqY9CC^M-y)yFa_hj@_?OCm#;UFbve|6jV3>4 zWE%}jkz$0@8;-EdzO`X8IgQN|GuVmoH(^OF0e?Mng5ylnm}&^^Oh^PS6WSq~ZZ?&PN(Zk-|AYuY~DD>m;XeY$u0izY`O zZ0KiA1pOer<@_n-JEu?hQ=|qr&>faX-af50mY)R!dxE5n^Wh=w{lC{qZ^WD+@ZTgR z)yLvLd>mIJz=yulRB#s9i%v?BlSy#mU-GQk`hJpzqPb)SuZbRto={k)omxFw5nYJl zr|~`oxgoA@H~+(P(A-;`Ps7o-6Ck%R(B^c_uuoeodf=7ClHxLdSCj|MRW|-)Xxil~ z*oh-VO;Vuie3eZabICL;NEp%>jXLfn_X{`*SZ!LI)>FXKsxJgYkkeq{M@!c2Mo`b} zg+HpKkyuOQ_p!h(*@i?@O&%O~qboI7wQNH)4Zo`AWA_Db3s^<46TrDVc@l4~V!`J} z(xG0nYCJZ*>0rUl@#;7J1-)L-gYlwW%pyUkss3(9cte_n;%=Md9&0h6!OwH0?Y0rP za=1M0#o#Q{YoeOO_SD;**JvZ?C;Q8;71R0M2MLCJxV{+-(>3CQ>DHRMC*~OVLFfEy z>zlqJGka7+uBLG!qB7g8(H+3<;|F64-BMoGfu0xFbhk(< zLJ`GXUkE!$79|km6tyO=9=!!$?M45 zxawBnVVPBud#iG*m#+@EQFJJphvz0&;7@c%oHCwOxP2=b4eOIo?YiyUgd z9TCC=UuEzcTB5eR+TRNJ=bjR_Pvr0ioxBZizwMOyT%(|JCFwYf~5EcNL4d3=RQ5F%%3=`+p84zB3|p>es#+$ zPZ0}!FLJQ*))wufP#VC|0vAxwG#2T{o3M=(B^q>cYfYob_=K9cI2bmw|Ckj~~d*N5h` z28b)v{MwE?UGJTUT@U}ToB|0<&<5c+q5hS#-Y0B%9c$bOx*=rZJYj;bjo6Qp;Fb8k zL%Jcf;!MvtL5575D^g&Gsz8r~?hM_@{m5vrA;#TC;OMNY(p@%bP0-8`+42%hhScaq zS$L5Fqm4%AkO;3Yc)T(NTGv3Sf$w#`uGj{vHJqtah)PDME*2^^MA;E>yOPo1m1Q-S z!CA~)*293>!2~bqs<)p1Zn$1ou&i%uTjO0<=rDv#0jnru9i5L;$mQhi>zf0GOhE#l zK7BykzCV)uBwvxnd$&Wh9t<3|@pzKCCVZ({>SKmj8XFf#_E^4)@AGQ?3 zHvUwrRO1BT1<#TCIn8LzvdjMj+SLS-X?*tt^FB6?qb!0;jIl=KfXPCRlutu|O0wv@ zuPW;T4C_*d<_9h>fFFs{jFEY$%4o6Z_0sotoqQ80q`ri_LulkA%~YNm8ClPqhdn&Y8A zq#SxYDO3NBJjcOu)PFMkyQP3vG>D%?s{0*z8fn)GRGplGBdo(BgQud%btz{NkIBD$ z>Ovz62cZdjQs}lr(On8=&HwRuDYXto<=O%xg}Rgngy|cq69Hybg4TXUZ=(!;{Q&a55ml8ep$tUDv9WQ5Wwqr+B#|CqZ%x36Vb`)v z?ob1$(i?Ofyb?}1*2XeG>WAfC17imdKUo5uh5}XJBr)>%#5q1T4zo?SsmM)Ic$e7} zV?rK~u*JwBs)Xqw%!tl4ttNdY`&8O|RRy_&CU)f?_|L@-K9Gxg|Zr ztU`}UAJ)oWa_PQqq17MrbyL#k3YlG4D19=M16i6CR6RFv&O$vpj1)y_7H(QLr#Lo-=_Qo9FR}vqRc6mMM zMO+eW@9VRgz|AURbbxbD+?Fbc#lgZsRJ;c5mY2u0WyJm9Z*8~uRm3ofFI)DSIq*<^ znFZIn?~5FBx%?gf@W?_7I|Y?UIYp3LQxNfAoosuu{t_w765L@L>~7svYTNchL>nS0 zr2|!xFV!yED~4q-xt3BW_>Tb6ggSC1&K}nko zGBjt{PMIrF5oKo0fI>K3H6#Zq7v+YzC~PC6o>J_J9IBEw0W6u?_@f345eDEj@dM`5 z{TDYL98T^gn?;5vfm z<1g+utD^GzLtbuFf7dR9g@9%Ufwe$KS#*=PF7(}40G}Y~0Zuc2w-)S4@DUzHRhnnF zFrhe6q`MX0y~xtAn)zW0FhN;#{$*g2_(8?<^09OeJ%!x2ZYY1&5WL|zWa6%|ZHHo3 zT`QX+>AcN5(Vd|0xOIpF$jW!JZzzwO<^wOFRn8r_2`7;K?D?VI5D8oab_Ub{1n{Fc zbSaHqAgX|xZPYj>6wch+=Oz4Af-p%_0)fDn4BRt_Y0xY~HyZry%aPJ)3s4~YM$`Kc z0(!g~NPPcyMJY=@4_Na?j~7Tbh;3Zw{T^DLePbY54mTgWwO9KH;jzcMtkrh@Rh(AADmyw8EV$-SaXsHkWdl)hH?hyr!)d z2{jV%FR>GN!4=j)Wh4Azc4lsP&OTl9Fyj;L-ca-pvKwy~Q8O<4G10QfYxm4QvamLA21 z9E_U(N~e($b7`NuSM*eZ6@o{m&2Ct_Y*nI7?$`GNnCHL&Zk4-YgP&LRi=A3 zkJ_TBfoF434Y9ss^rk@Uw&;VWoA3a%B>j%#kc90>O;}G{sC5QGG{MthpP4bZ`&haS zK{Tef@so)NJ||2?mc_c6ZInrO#jD$f z(A#J+*vSf+y^~}a<-O`#-e^tmS_ccMB`JN}y}wKUUH!kIZG2M6?VEMKb;E8B_OE&8 zXyNlGnq}7gFU$flN=v6x@h7l8U-tJr=XOIaM^*H=GW3P2>C+ii=)J1x*BX}~7;#ej zNB-`29}s)_N{<$(Bf!H3zO?XoaJdmR@GG?jcfEsMy+e_}mPZSw{I4u@c^8N%t$AwE zZhJD=3sl^sHGC~EKp8-%!9W84-|#a1E~|zwWLz`;DK$2YE@RSRRx{b3H;TI83pDI> zJjAZbf>St`08%=)w94K!kq`OS`pe6{;TK4-nV zkH(m>1n@{)DtbX_NUE@Kd{xaZMRjYPYyo=v&$(|Q@aa1*HE8vgMRwLHYuuW%0qS)< zre|BtO~SQ-J!K|}R=j|*>?DCz4ufiqBnASo2(iN)K(;OVBdp!jgnX*Eugq#EG&R~A?kCfK+lDtNb|H<*F$55nyv8i z_ev{mLn*7F3ac7Jwb!20)i~vue+yEkJ4$WJRd4s%skC2Fjn`=6L_Bv6w~2nykk7+s z`57eYj=Z^P8mSn_3s~I8VcyS6R~;>TCQv}d%#v%mkY)WIz**U)mm?<+)_eoPQ8jfb z&;h$NLv(6Woj^f)zMt2?rRCO?v&)HfuVZMKtf|YFYigX0hF@Q|vJVCx#f&5GJLxK~CcXzN;=g3RNZ8VUF`b1e|yBSd;+2_?h~A{x*K2 z*8dBY8T4x5@*}jdjsB4?Rhue{>O8>pP0Z=GX1^ASkEUv7Y&i~ex{Q3}8qEiGT%vjP zx$Sh)rC)l%%hs$t)_~1|E;B@gDw4EIdyLKE8}Kr1C@nhC3bphr4QZWQHAG+Oa9dCL zbP#cB=v)sID}ifpGiNkVvy)krHe;1?#OqPZw9Q-N12C;>Z(4*|TcANlTed+1%2qn_ z2=GfkO{b>YbAuZuQAz!xOcB~%`Zfxi`81$kv21_C)GYl22zw7(<|nA9rt% zbqN>ds(a|DX;v%EOBI;g`kS&4o~OKHL_xU)cFb{IV^FCNnzkC-;zCg-TG+6pN$=5& zNx3L0+WK#snhj~=XI)WHri~;+TYq~WM^O#pMOBXW9RzDE;YCTeBy+Y5_Cl3G}35{Tue} z@7?GxCHNfsZUng;u2~Ht^cb8)xdA|Ir<37y64z)c9YCwTB0G5|EwS^ZY+jj0Ijw zj~Vp<{)~6AV z9_79CjX>^ufm;)Vzy=NMMEx}RbjfFqep#Dd$cZxyozRPafa5oG-E;v^yfH-i9mFg0 z2wWXbYWJiFQjsyEBq@Ui8Ut0TlkZA5WL`b#;GeU&`OzC>ORI_S8Osn(4gA+&J8)KZ zCkhCgIc5;qZH@Idtp0W9@WlA_vNnP;;ilX6E@z$y6(qD9cbW=Z2|g0q(1VpdWnyRs zofig<6nH6jykeWG{=UlHgAMe4Xy7<0iOt6>HqAx}gQIa!gck9bH76aaZ{W4N6|W~P z92RGhs?P)3g)%?z(819?>yfSuU2ZcTxmAz=iu2IZ*xJ0zJ4=6M5S5>Bq1Wd+-;%R> zsK`z&dQ>sG#LZzOc-1tz`vOsIY`@D5|zAo3Mn1CC~^ z{{W5X_T&&r)K3A{LbHAg zp-dt&-*woFUbpZliRHj&wNGwwZ%$)af}qeYE7e0noEIX2+MsTD!l%9@6Yp_Wr}?{@ z)S(Jh+YmXa3*=5`D+>^WZ=bUXTsccGq%UhB0)V}wT|vmXZTEGd8+T3Hq2BzgTNsv*%4S{+(odl?hgLw^GUNuHc;=rnB_z2rqIQQ`S z>mMOK2Abbynkmgz5IAio7!5+6-T-_8I8*ed3Rbt(V@(HK87h`YXm?2~;ahd#p+IEY5?q;C%7Gk*v;d~gR6mab1}polzAdTGiKiPJaIbOcnvQO8>vmIOKsbG zM3Vk%1%m$o+k0Gy89|!HsDDn?mHOaa5ZPK^78c6xwZwF^!FXwsy|p1YWJhiwdR%suPG7ML%HaeMz3YlH-094 z&v&13&EUkf4}*JVL}cLl5qoC+fM=aiwd>ahmFEu`!I^_~QI}Z*Rt6br?myq9`5{LE zo0GI>kAiw0KC^ZcPhRCVbn} zot7{$y^ARoA2gj$CKi8s@3H*0ty-{Su>)_b^B172|&%bkUkur`!fwoh+EJhgIKQsv$a&yE2B9} zAI?UzKh@Mf1XW&`M$Zd?Q%g-cy0%TOUfGwbx^?%u9V^<|Z6BUNH~S0eHU+QMN_k5G z@Q2dYMGEVC81+M`W|T(}V|Ai9B&gxyp=|2YK*w7viYXKRUB>>Tt>yTKLLpDDzO2!; z#E+grYxIAZo3@7%T#O9q2Vu58UqQ?4l1h-Q=^oJx!rCJ5Ym~`hY2^Cj^QaJ!(NtpF zkm$cnlI;G%xKJ1Rf&4b-OwQOVvp=Y>BVEJQF~aW>;yU&V7tO6CWv7Z00Z6=~44M~L z6;q`qK3?0rJSYuTUDT>ftQ%^qW9m7oZ>3g1pDCM!hG2K7XY=lg>k<&xah55MZk1`c z;%?&krl)3OIwt7@?qRCT9U44fLYmeKApx{!QhO{lxt`1OTYP&3w^>QPT%!qu19xtI zQ6GaU>y>@Bm(TTtHIDpjmVfDHB@AVk?%7(XlzHjjH|&qk-}&6<3Z18up`Kpz~sHg;qeM7g^Uk`i7x2lELs`4J^fSk~Jr>HKg!!jKZd zahzj$f4t(B5ihXPn;=#J;OzB#d>1pl`CX7W)r&-;T=>SYF*XbkvWRE7Vj1ZQ`(~MQ zH!oQ$J2gjMGJM*8)-~T}*9$yDYNitQ()lvk#DHK?SCEc`J}I1DD|4b@MCSN(Mr0Hv zT&{7&EolB;8BrQ5*T?`%}l zx94;}NL|=J&8uONXp7_iisz3`F1M->zeQ|f+tI_U>xk2>!a->2az@fkcKiM4A%P*D z$pQ3!Q1uwncload-O9uw1k)v69uiYYwR^_BiaC??+m{>7egy zE^Y%r_Z0WBjxdo9Ko*sPP`XM#^j(7MBs;1#S8Dr^o+jSPr1+Dkd|xUfLns(ol1nfPc*F`nF5kM>^ciYo15%> zB)vWN-h!|~)P*B4RhdX}IY}8aqQxwYGmQjg5FDdzT>VU9Mxc7GWKk|B`|l*$TBZ7H zlhA3q41Rf9%mZyL^*A5v?YEYg6@LC}y?Qiu60Q)iUY_SQSrKspvD*ZCn0k>ij2~ zyZdH#K_KAQ2E8x;K%u{yh}m#*L(#QWWHq98KJkS>uX&W9ZpY?JMyreot@+xV)YA&o z2&SnJEy&*#0i3Hg+KBxmU2f&&wzs^E#1J@>N6q#qc0WPS4AUSl4a=cpxkFTb{U%p? z#}9FhBdO@9d{3)eS=GB2KjmJMj}kMF>)fyl}9VHu2cSs$55Ik$&hNra#%3SxJCVe2cvV1PGe>qjwNdLe9a9aB{T-w z#b?-%2clvF&@eyVe9Rl3k$j`4maadUPAXb{ZDl~T4!nuucSNrqznSlAO}7BhG8HBy z```gKSFuu(>gbva3B8i;xDPYL%+r17erRTBHWjo{B^@DtL_M&21!MyGS&^2?~^-eo8|dWIkQfNZ)8!h6`?`_dflq2DB&Lm>qRDSq;$L3ocD|J zTHPkJ6b`Kf5ISKFJS9!>YVCj!w<7Cy=rjZ$%3C)m=`hEu?zpBTWmV{2CdbLD354|D zaHbG4Wr;}}HHz{FtY3bW-OdlUk|O#z`m%X8rmv#~#xbuAw2e_H?=ZU2v&zq78m%qs zyJ?vh9?fMz$Fyt*@y@j_BQ((dH8N?_nYQ*@>`{XJ0fKRv>3uuw7P~1v7QU|QV(eRd zCt2m3NP~QZfcq^D7k@)O)=T_h-`+yP7|qhrl^D$+_9p}6RvCLQV!Ow!Kip?r1+lB& zA1n51_5}_Ee2V!aaBLfNtPPapeORF%e8Ah?9o3^%53Xl>P`+PrY=fC5#I;eMnx=X% zpAEOv6J2@zxbB!9Sn2I|Clr=mS=^#SV=ED|JWRGLj}|^0-UDI`XCx0ZpM5^gWF57L zhrmx|qQP!RwOgb1YZ-6j%|e!8PL)0llGIW^$2QN7`oUoUfHT%BX}CYW6glimD>E3M zwfC;6)@#w>C_tTc%bUD9NNBC{sA-7ZFb2)P!E8vS!WSNO#%kd32`k+c-=%q3_s?V-~CvSyUz!N|vd9#shnTtrvu zO+N7NdOvW;jJFs8t-|d!g1wdr@3Tf9Mswpgs1vxST@CEYP9G zLhsVLOcQ{bWjK-M<@%D56Hhu<%*Y9Xl6&ms{tbA1A6A`nlJqP{b3XS3O{p5z!Qm+B z&}(9)Iwwe8YJ+7uvVO7kvm&gcj>o{1Fo;IBp6HV8ov7?m8V5tE;}>`C!RZDq>Qcwh zTaiBJ&|6PiXUw_8e@q!~>40R{=ALT&m|gK~z>{jPEG|;5mu>u+7xR7lL3qQGGR{`ZEx# zn*ZN&>;SUO((DngRhcgxLD)eLkMHksZ|_Jh)9gHW-gni~=Q;jMU}1t7-ey#!yh;49 z9WLrs{|(BXItx{(zTB>nXX!GvjIz9p#4!g|>jjOiJHx}Fio6?)$1B9Fs;c~{5#428xxnhN8UH z`1op!$_Zi2)EebVc49poyz~|731P>V3U+RsKLWmoxa|GgNwoD-uWfhVuhRn`N4(vD zGC#UN3;Mw(A*@XbH$WXPdZH)JUw*J6_>yl;Ihj%QP0TTErlqnGUwy={Q$;&5w_mSm zjT6FhBPTxBZ#rD+ZV>P8pvL?it#ife{dsezU;aefT2CYE`gDb4Lk@jkp%bKXWL{m* zCfY`IZZdSQ1&j5VHOH*Izh>Anx+p4V2t(oA{E)-zQ&spXQ`K9)+%tcDR@FYAS6*Rm zs$JZEU0Z(iv)8ovIyD~^X@4S|He1QQT2{VzV@Q&jkQ)?9^eDU}&?JWUKef>Y~ z8o0POANZH%rSP}zu;ORi@k9hN!hc%I>kAA&u1z6=JQ`mvF`bfG@ntE)-#o@z=i$mV za5s4HIB2RGeB~#D%gyd6Za1jBpciBh=h@|5KzYE`cCX%@3J-_3HxJeunUl@equfAb z^A#vQkIE1C-~oy{=MN2F79EyitvI>ENBg?*t*M*SES0)v%!geEGe7IYYK8O486Bf1 z+LxpYDs+@+N@GNH=^V=>=Jh>lq5Bit@;7V2h4V5`ybJC&JRCokRMJxmR%ApE{81;u z7W%nq!eaOSs)y@`@YAuy7h~h>Sk32fFk9q2*`yz&Q=;5S{DJc!)TH$g@WVDS2%{wv zG=7c;pD9aJd}pECd617|At@lX?vt>a{yKTxT)g3&W(U#4ac;EIntRVhqb4$5TX53s z?0gLB)J^Bbd;a2WpigIu`Upe~=cU`5duuB(ie7L$_?ldlfZAsP$ecHF6w zs~Nc#M(lHo5Sa#zFAjHFZKT!+Zz#-ayJ3UyXRU*nabCP+hB1K=+soOP73_=e#nP*S zKeObFGa64LbrzjmQlx}I72oqR^QzbgvYuKJWRW&{UVFVW&m_otlJ;X`JLI-ujQ!0- z{u)o8%+v?Sz`@vTTx0IDs(~Gk-^zd(PfAPWIp{mF0~nzB>!KwqpwX?}q@KB(_U6KBF=EJYwNaa7g<8>hsUpVj8Q?`d>V7 zl`0$y(5pG6SP?kWh9YTMHOpBL@da0eFR>cLWeP}Jmu!|J6XSZ2wi$Sh@I?N!+v1?{wzjnwDyOL*gb)0EqIbMF&4dF$ik+J_letUoxWyawar z9sM!*=te%BE+@QWbh31WUD6b6&++Rzvgn=(PeEL~x2T>8&$m5Tk?8$0UxBZRvJt2= zqdCEzn>9_#z9DMcglaCqU{g9qUp?;mzPb2ZlJ=bIzB0~5UWl)&0so>8AI}%btT!8N zZ>=gn6mvsV0gv8kug0^N96O$LYnQOQyKG?nD{v zTUH>Ivva~LKhxVvFt=!CpHP<|Iy&BlvuR1Efa3b4Q&@^w>_GWNPM8nOVG0hu zQLx}XqKGbUG|kg0{>YUmn~z=e@t?%!*;-VV@vMEWh`-;0o0YBN?+Trh@$1pC-RL0ZLxdPRhKc@O=9kvuhhf~vl8w^_<4 z9ZORM)bwi&*FNcRgxi0x>$^2}F#uifXY2*DhtqOr(v}p5QSS#yPyf^q-qa?z`Y8AR zoFC*Y%5r?msAsg_T#$Z{!uj|^M~;R&gT~QPTV6!rKbX=bsw4`!5O?^Gi2*I6=cT^I)$z;h9}sq$7i2 z{V_GMNYom?@1(CeEKRML`aUO&EFDd05lm zCClo+v90T)uF}($_#z+AlFBm9lJd?bF@h!QU7VJWZjL^wx)fpIbVm1S>zAE{Sf+@L zewm0372FA+k?YRjkb}l|my{#6kRpUtGk3~6`gd&aS%>}|Vi{r@VjL=zKo*bq+m{A! zYM!ZQX&4I1yaHcqcb|%;MT*_)x+T<0yc&m8uKD&CuC(u!(k;2o7bg#xU_Uw8I4|{SkWVd2ff}Ebf{s_C8?d@ycdl8>Yq@XS7RlX!JDg0td#sF z`CYQSSnR8mSE;x0T%YL`+|#z1&Ut_+?f~XZ1pj%-yMwx>|l>zI&BN z)`tB{hk|gQikHp|*;9JrfbxT9q9jhNi|UQ>pGDUWg7vv7Lkj|qC-c^fst##9#rU3Q&fhHoi&+j5h`#N5GSAV-F;O?V%v8)1}iVzpjTZ))V24n+D z33p-CSl3kr!O;f)Wb@-;M2>T49W8P_1z zdkddnDiF!4WIf%hcrt80>zjXS;0M8T2({m|y3dmb)v>p0&{z#sHNiLtY%|7|$NJsU zPbK@>vA@PMo8jJIRVCbEdxtDx^H>b6cdHA%&>#8q4}Vp2Fxe1ZRh;nS);~v2TYGM? zO7;I;^_Y25m0I_xwNnCnriugazEPX-O)2@K-MovZwRWe$NAq35Ci9=)FgUW9S@7bH z>Cq5UW=lPyERrImEK_@gKW+U_m;*nSqOBWNZteTuNAtwLZ5?sU%Ic|KsSn~r&5B^N z*)IGOZr}0`NgdN~&3VS(EQill#SR^RN6h2?R-WhlZFz{l`ub4PtV9n85%FsJ?YrSPp+KCTKwgMO>Qe4{LPT$H&Z#)s%$x{ z8I&Af|JOGxh&|mu8nzi&gSAJ&g>}opTZS^f@#f$Be$I+yR^7VDemrGytq4s;_kK-cWHrA+#QNLEN;c!y)15v7J2(S z?|t8Sf6SdsW-=$q&7Dkc?wvH+fT*;T~KY1 z*pm==$WJVC zy;%=pv)UW@XQmL~e%lRte1ZeBKAC~x13#MOzkW1Jeihi3 z3}i8@6T|&2lZ&BOp#~7iS3_o*n}bt3VF#w2+yK}iv2e^#7O-L<{r3An)@|NEpjm1+ z;$?d`@VCJh&_`MvPOp#<$ThAmQF%Zv!7%O*;v2V>@E#YGU>_d_iKR`!ks8*(JsET( zVf+q2Ci?n_%CYPQ-|raEm0)usJ|+hgelU8Vg6p{D78 zq*)yS_^dmiLY8EZLRt-IkEIKa!N3B*pihCo(r6aOQV)ZY0Mr8|RwCB%Pj0{H4(Qs< zdLQ)7VPM<);5+#3>gE^Xo=qy^-k~S@(3BkvND1O{d10W#y!h8@a21}BQu*;S^CFqk zpir!WiPW`5O73rq*e^w*j)Mf_)yunx%*}e{g9I>F&t9t{M$x!bV?pZ}Db<3^v5L$w zOJH?bV71k~@oM+$UVq)+Au{{B13h=R;W`92G9`}Tx-b|L81AC_wr7Gf=*kY6bY+kF z+e$d#wvN6laE^#NfBxByKY5j0_Uwat$6nb+^!z!U9e>7Zw%l2XMu+XZ6H=3K;_5_^ z7olc{{=5@kQ>OIUUyY7Ovim$%7{Dj^f2JN5EsNTt@JQOD(E8(w&9u{soa(k7+G+H= zMT~8EZHR5z(3J4h5rlrnH;w2|dit#k)3bLoqQlIY7AB$&6FG;$*K{!<8&@{>6BmMu zYc#WO;{dQ!x->|Z zEfRp;-U-ker9ONu%+a=;Qa*exzK}L#$0bjd86nG-mNVWKB7mVdkl zIh|YwISE>KiO`K*<78nXp)jz3iA6If)Xm=-7(?2a6B_@#m-kz}rKDo?9=tMf8NAYI z-SuHMcJ0(Pa_wA#fp(3+=1GmVnd#XR`8MX#35d5w9G=UNH*et%J@5M&Qr^TJXzQU8u-+OFVO0*GS}%(F(;*X1VB(I&tb&!8V*+OO%`;I2ruaxX=J>E(>dv&m zENdDNwdONkFqt9Nr*9i9>lxwg+2P&c9kRYc4Ja)XIW;U})$IEn(iA%1NhjYN__N*w zodn+8H(Xv1J9eJ8b|Y?jz?g@@`7kC8jEM|m5W*PjuKkau#}SpcVWc&ST>M7Wr5h0v z9lf6G0O^yw;J%YiW6Gz`$o_cRhY0%}OM-|*N~^6xht!m&r3GTpA}6dknijSM`kwQS z?$5!-r-#w)=k2|A$ITAb9Dg^_rjIv~rbk8JP5*s`%j@t*mSDgCBtd!q5j=Fh0T;O8 z50BJ(kA&foh=}2JflYKQ2FI};_?g=#?JPlb)OA>=Mss4}-2WNVtDoGkDxV-@SS(3T z^tUVncGcEj*J(w+QG{bR)z54|cqat6_76~Pqg3>A-uOJk<`kX6XQ<{9%DW*`_k{8~~b+gH-PNLHbi*c-GIy zQ+2+-Qd8%GN-w9z8+9ygsS=^{^94E>t)iiRQya{zb<^Z$3e;Jsgzq%D@CQq%IWRBd zuc6%zH1~hdnDcWD8yy3yxQ$} z0g)Xm1Mrxhvc6_8ZD39V)0J?M4_z2~yrA72z1TS|gL1<;IelWii@< zMA;odmV%P2^++lJHGUL07H1p;pO8~#l0QgQMH;$!&XcDGp|~LJX?`28?EQrwJu_w@ z3mFSM;7{Y7nufyMmEJ;m-@UP;+WDO0+Rry*C3g?vivv2-rMv6ywIob0v_XK)6F6Yk z4Is3ur8z?IG@e^zi`3?Uz&UFNaZ{ily~{O%(09)yc$)P7$-;U4M5)uYmi>09>otu3 z{PxRc>r(FBP*?XljEfEnh~ z2bRr~8JWpxsIJI3@}5gGj6nutw22W#-UPasuI+~YGYG-X5l0WaeAeF&J)8;^BMONP zlSZl3n>=cGEHdP7AxvAXsiBz8PST&X9q%+ZcOCGvplJP zD;i~rQ<=V~S9B_NRC@eSoYVSMIg6L7Q}M%7{Xpw~w7?2!kF{5LX|Ea=7i#?~nKeq) zSv~7u^iNIDur=W4HPtdGm{m-zKj*sDw)Orm^Oxd^CD++ik+OUxk8!atlW4{4IMc$= z$h=yysMaq&om=VRpzqp&>}9X2x-b7#b8c4ag}pq;s?6(eh2QCs+d{3w0()wLN#&}# zZH{7M1+-q#-$DB>e9Yv3wRu&-DkNQ8sQs&ERwOlzOlwcWHnATjaKtpBd87_&1gwyL zotf>OP7k3OcBl=J8o(_?=OWQh0W>+_+R`>*fjTN;!*Dzz+o(1(I- zNJ3FZU(F6zjcji`Go9C-r~jt&$wldYDoiS&W|i^_w+i16cfeY~b>k@#*|!)er49~T z-)jD{w%xqrNV|6D;6G+7vDWJt*+RZ>SKj=6ZPGDw!Ao;(X^q0!5EcuzIk>SY!oah3 zdV4w{ze}1D+nBhW4=V9h0dh4xHjQMyW6o(F+9wxDA31^U&+DMST=DzXT-JOmTsu;9 z&PlRkX|>wErFvt=YpZ4L8eEEvft^eAs{N36N4uuxAl~#6cURjOT>Ub1=fB!B_d0&( zDeU9j+9NFy*-S3v4Oz)oi|i$j@b;;Yc8i?HY7n;aTAtn6z_JnUJb@}ij+1wvU1~-W zP5r|1lRr%G6kfboF0+hHI1}+8@sY`m zdWbT|O_aBitBP61bEVr27-+$5p=ta?Td!KAYxT*>V}E&Me`F!qkXDIyN-l`xQDq-H zIatQeJLYu0Lo=Y%Hrv{Jb=uaybXRp)IQ!hAPV-A?X10Nc(^i}R;m^sd>`3pNE#EJP z#@SPz-LosSOms{lc3Sh_$|ltP3)p0g9WQ;9;0XV4NB_i zOC3MFe0!99)2BKD<_?zFs_ZLkq}#<-c-!plmSl}vJT?|?KP}yNn4I}_RGPLdZU}jv z%$?;sC3+gpvi7X4ZA^M~tey=!wY1xAka{|=ZuHoEp1Kn)^v609EIzEyS@X*|_3b`f z5_P_7ymPx)sM7sfo6|*c&fC0n)5Yb-dfe2mYf}5o#Q9!m>Ey&@>;9=aoxqrVm7(3% zBN9>u>7K!s#g3&Q7G?7@fUZNn%v2V%$Wta-cR6;w_(wt$AmkezrWcZ3`2K3gT_yL6 zo5+5_%m3Ck`TYznJ1u_=APhIg9udva{_XuKZ;=z{`{D27&mTYAIGHW^hEHP!@ia+p zOq6~9OmPMeM2R^C{<5)U)x@eZgNEtY zGM^MXTD~-%IV3fIk6%Jt(fn;LQhjDV_0@mH-2gYU;LK99>4imBc*JBLt4{08lTTXs zkF}&(ZXvmOt(|k7tO2886}hESllQXyDr&Q&@F<_{MSV-7=IPHnKu2}9Iop%Ij=cEr z`I5Lr{u3fWjj0tmG*Q1Q2vz*V40tv?O@K`be9__$`NgI@sdkSlOR) zGBO;#t9mR-$Z6X2Wt?biepQh zwEzx4E%0JU9(D;SA0~QQD^Gc=(SAGLP{N%cnCsW(9XiJG76mj=)ziV=9bzg1&Twag zB=Hh;miw0ssu3QA#_rK2b1^U^GsBXYsVEhH61id8TWfEOPQ{N+gV{Ot8}vUJN=9WV-ihfTe7oinM_xcv*Q z|G&?|ooKXc`4jGEzfVc};)6pnSNplFhFKQdA$9-O%}=w{y9;gj*@v+3x;OCY>j)ZB z<4mGz@A{gHI#n4O+h&8{mTS+$AMa^#YBfz1i_+v70DNA7C5v3WkFxBYPf_)+hF!S6 zar$GlNKNKpp_ad^s`MAVRQ!=Iwd>QnQbdg;Qv&+3!y-`<@zU^3=sOiYidvsY--OBW zG&vE^KZ6iYJWewm)bCW9>4%xmN}-Pg99`JP-W4hdgERiIPgG;Cog4C@!mV!g4tTN4 zV$DH;ja&L#PV6tw3J$oRx}yfYdSVA}X_Q7u&RJrMoxEy7I@OH30G8?h3hpSw*vK>a ze~*VAhw=ViQ!-kmtds6JBr(IBgVVho*2qLn#L1!QB#uqqnR|_@r&w7ld5dlF4*6bL zc0F9_Kg)hi#mxyXMTJ8l`DsMtnugkn>-#WRqz|eL51$~qAU-k2!gPtg9ZQvStRYW4Ob@5d&_qaRSEizJQ`x~-tNwOOGAfuS(d&v`uT zY@dA?clb(#iN446$6@X9#^qXfCSI+@O>w<`yP_XjBHFUbGNua<-gAwch&v(fAl{mQ zaG3o0==*3EeI2A3J?Boa!=Q8__jF<17#PlOKH&ZJFdLkly-w@3=^l4<1Vn8==`7C4 z>a;oZ-sxz3E+IWE|AN+*eD&;RH3LoTpwWwO*43`=tkrDNG9a*|fq%tXHRvqsGovZLYYt!W4se zKRQ^ockgxDOe&sPlp=l-sJi~G_#v#&X1sb`C0}h5y`H%*AP#;oA5!BI`}2T4#BYeY zRF#+JenK^qX)PAUlO=Gn7W-)y@70yCSVwL%Vk2zuKpgRHa|5~_>8-g+VFL>dDSOX` z%Kp%IE}h8hYn%Q20n$6_h)O#eUXwb6YtNDta3;QATb+b!kAT~@>Q|@B?u9X1SlnVV z=el>LCBH>4lDq$SLWn=PEWO+s*+Cdtk z_D?G+w*A;7wXcyz^EPp%b(wnKlD$p2aXPQqE#`)pm{a8&6n8Xi6O88VsOFY!;&PAr z8uZdLu_Q`%7#N4G^c*+E@w$tq=Ct-0_!5(6rD~)g5P5|&R7jl8QDb##b!wx`nMTBJ z^-Q&Q8%Jr`8G7X&hi!C}dMs{wlzP*W5V(s#J8>6~1hpdW+0?rU#easy;IV9pr(KHx zc4@CRKr(hJMMOVae7D)~d;duBiL_&ni2|MI;>$DIUXRg16M;fMsl5Tg_rJ7U!S5l+ zHT19i#K9vEB73>STdutMPdMY!u(}u$^K<6(KbQ>Nb8e1(yk3Tijv-MW)vOnxH~6 zIc;iP>Zaq+Ie)RkiP^O~01%&IdUOypeAVNDK0|0E;c3_SD^yjE`Ac=lPG3v*sjYx~ zj!4&OJ^k!ku29j}3*-WYZm(Efi@U6mw9VYs_@Nc_zZ%41>v9h&Ll>Mw&h%OR0*O}~ zL*a45+-&9!Uqn*tvae`{l!#6LE{nO7njcUysMhe;ZuyB9NB+HVy)7j+=hc1jMasrp zs3g()l&T%3x~S1eqOHz3jm1&)K?~mFJ&{Jog7S0+5d&v5b~!rHR%Eo2p7F>-&;rWj zV4VMgh|3+Ew4LGvav&;45u0WtsQVp}MtWtxL@*qYhHgc_q-pPiWD{ueJ0N0#_xR)V zePyBK8~&c|JdF#5S-@v<e#;iZhbqOfS5mkHVPjN^mx*mtF6e{B%jq6!%Ot0Rtpl_jkzZxA zfdMMn=pu9;Vwcm?IG5S^?=FizllZuOL^r}CDZVL@65M9YCkKDYcQtb_LvcVoLuig5 zGcznhGa_6KXUM_AsJzWrm_Cam&qwcFfx{?|&ySVxhL^T;hgeK!f~Y;^zOqBuhPb6Q zw>^OU6$~E4O=Z&u;O^;EaCJUxLu;BB95USm?w$4oJLaE+tVvTM=8(51tBRs+V6cQc z$vOxVXHPqB{~%`0Un^e-7n5XVf--JzPG^J5r;Wjx(%wL4^bKGqH`I5#RQevC5 z1RJjZ`1-P?Y%rn+*va)Q(6n}m54P`D1Bky1BJnYPKn7z+2BUO}J!4$b?%0G-Vu~Yo zQa@`BcxgV^t6Zm0KgZm0L7ZU^pUfP>Mdkb+nPI4<*DEI$@?!)`=m|Bb{O_a1-WO|Ng* z)yyR|*f|0lC`KSg_Q1Y_2)+nQgb(5m;JLiIq}jgj8{XMu0GZ!fJs@mr?%;=PVdo+Q z2z4SnIPYkJ#4-4R!S9?9#qdqAp6@Re*Z;BLhzfO*K-K!}CB%mx<}Pi)Zz#D~&-$(8 z-Qvgv@{z)ze|@AOQ<3~YQxxys`>7pn$+zgMR2OW4TKE~t{=hs_>|DerUb9bKxT@b? znK_DHg+)-Foa2JAoslad+(G#f?mMJN5!%xIk9js6a-GK8~WleESlV7#QUx5#)KK#D~0bp*MU(E&T6#Gp2mL_N#82V`5!i zMlb~=nu*k#6AGY%sGEM9<3ZKqhWU(8jJ8~GAI>CxX!H;MSS9uknIYB$hguuS9c8!* zUZ!)`Aao1tF@-rt83Bd<2++E*3g8au?F+T1b5gYBxRE@59K>(K?dA?K=Vf-|9wcr{ zy&f0fcOyOcQOD^fd_WkLB_{?5Fx=PtF+7s}!<6dDf1hp4dEdze3mCB=OmhzsBO}t0 zml0EYj9*6=;ku^3OoWeE=o<+H$0z>_c^m<5Cvp?eVt>;#W09qRw_(6>W4z{=juwGe zMT}DCy8Z}3rP^2C=bY{cN#aX(4uNf^1twpB+^P3ulZShK#W||j5<~!g*f=Sy*Y6-o zMC|b*n3M1Jz9dtEZU95DGl~%o-ON4(a$I9Tn2Bp+M9?P}B;qoY4<+7!ICzZLn$wi< zQZ%wbNKgF|pNdAh=;1cZg}?AGwjp5TbipWFTcU4}1@9 z2J*9$mDuIg2sN02CK8YvM~3wrWCb|)BO%gxBN0S<2pyRL2gkC&zjC;dUCJlpgQjFu z5nlcG>9!k^>A{rpssJ%UTclT}*%%)a1S$L|7UUOFGrboZD|*Nld_Jj+4$w5F3h>J2 zM)JT8>_5Iwo|AmzoW**=jth?Q0NvP7S*csmUM`GSyS&1Oy^HYxm?mbSKHC=|KWrt7 zJ-lXLO^oPoKVuiheCS05%)wn}0bwDuEc^)ocEUN_WMTqvi-MJApIQRi3sIep1k4~8VnO;tAfYo%5XAp7*{0<= zDaf-CY^e7*XV61p3kU&;@g^7|Z0&@t0z!x)oPNZY*)!uI46?NdIb>aEt#p2vF1ApE zZN`}s(0IWT(6E3Kv02U;p;^{>s38s5Zzl`Y*&c&9g0*MXLMjV$;cB9T(99R%`;QwT z*bs z`3KUEGKU$q_%0A(nKba-GGQP_EAJEQ!<~E&@QKCj6Q&F$a<&y&oETt|Z>XVAEup=AsqE^K@Y-<7!^+$BsP!TdY$wIQ^22yJ^Ga(i*abYfIY;W z5eJXui3>7LEKc+S6wn3qA0I<fN+G5oei>8bO|n3sj~dh&JSF>v z^&9|I344aeSykehha<*wgbQLsw8?D0XsG=3841#T~NCN#t} zmJgmXW-|1mf95f-XYyfcMjDhTgAIJkoavVoAA8XA09?Mwzzl(fd_O;i%v203yqx85 z2tKfYe^3?fg9XDkcO0CTk6w5XeFI4r%P2Yk@_tq@O z|FeOg9Oy5nm+iLA>v+N51FAp@3Sn|;m@(v9#F~VSI1BP^7KDg}nYwuJo@HjQARy}X z{Rw;ykubiGVij^L%OdiYHI?7zQx-Er7Su^MSkeIpsyMVzceY(+A;Rm0C14LSZ{qV} zyKG#31bfy|Zy(jY3s?fqBwE-`lY$`fbu187s-fNGj}R5`?^Uw#kWF|Q@t8BXKqOcz z_^{eZqk`Tse>+Dkpd9r2wmG&;=?)f*@NFjsx^F5q9AHOf*KE6u>c%IVG8v z9m=k=?`7l^syhLtF5iOfP7A@&%kg02y3CLc%NBSB%a)xQbP&Y5ZY|^@HV{5576b{b zQvVDL`q} zDdZ(CumtlXC@ru--2_p-DyNduOPnT@{wP`4+(C4A90HVIIyvu91o+{kkN?7=f;n4s z(%%sYw7{M$%Q~1L$NaC1aGo==g$cet8I%F^b7>$4?uF4zZv)pK4Vo?S$KFCMv>W|D zG32}pB$(JgYKT9PIHf;Q))Z$D^&N}AJv=qB#Z<^E9!?7Non{I~-2HHn+;zwmbDb&Z z1~wGy4tpP&IEpA@UQ&t>_LeN!Q+~ini46n+pKz%>;+CBy#nA?;81C>O!=RtH113l> ztY&(F!gt8iTL3B2=oeJzp2Q!JMJ*@@9wnRZj&NEHke@MNf-FYv4}92L-U7cVoL=PR zT0YyJs%!@jNO4OY+rV5{-zor<9W=dWiMxGMM|2sk2mfpepIS0-1aLzvLDL$$#(9Z|QcBUes82p-df7M^fG#4Kq6^@Q zDiu%KgMOYGl9XjMgCskm)aDSfB)g?Uv@>#PMjdYumVhJpw*iGXAry@Yn)dLRrwhn$ z8Hkj~MGNbUF9nqj&VfCzSRP7&uw3~N(p^CpA<(qmt}rNbZ*SWHAk{t;n>PgqL*DQm zdsqTpS4?WA{F>TWo7y7HT|De4TjI^iqpJOgIU!*D(s7 zJ)~LK@SK$~Tfiqu(6riaF7gXCm9_Sjzhp2`l)m<}Ql2<`*d|^NHq6g}uwMO>+=3ra zW_pE#Bmy|U$B3gmQ4)(&1fyiF5sMQC6J-hSCW2ny;WU&!6y{x6buzya3FHDSu-?BB zz-?;vQ!jC5|N{^ePw7L-2-png4JDt{o0W4G?&xxy;?`0f^zfv0jp1rGpZOOp$`PUy-*h zT@9RH(;t|@&Vz68&tA`-+upm*RP`zQXj21Qaqr1py2>MxSkCa5<@E0Vh}DE)=uSCj}+GDn{Q(=8pRWS)gQj z1M}JGHS)HA7?oNym}II}Ax8rrIlhko8luTjxPK8Li}pQ)$l&_;S}WD!c zb?83Y7I;3MyHeY{(XpVnq*fvyM+^2#>1f7n&**UwrK%BDrLokY%Sa-p5c@WI*a`Lsz~is|s_K$S5Bhg}yG1f*-29;cX^_#N1l^2nD<= zZ@`aLOh8k0n?LrSYs=1kam_9|e`@4UO`b%TP22pPiG+%YUhI~k1v+h-Y!m)f0rUu5 zC}Z@P=6J*Bo&}W&DU#QwRUA|p-&Zbo!ZnVv0Y~(7K6i)h%E=CXJQ#!q(M*&7rOFi_%HXBC|oy z(o?X3;i{_Rc%$*!9l1x@!uUPg+tKwF`-PG3>)4vESbcr{F>_^($?a~%o-THkn6qcl z?UHU!v)_4ntg5lwaa(CZwt>(sHpEQDerQR#>Jj>@w#L_E0`^~oJ-WSjb=Q}(e*0X5 z4rpU)X?(8NWqbIE*zfbTlc4T%_7e)B7n{=inq0l$qbK{Nt?t)`lb+^R!;@V79_N>f zrJioFb+L{>$$z_d3umNjQ%+M&x~uoirgN`y{ucfDqzUUjD?`qX0Tz4XnL5thHshLx zSm$=<$H&JP?M)|<#%DHJ{zHy7BK|{J+)LT|LO18!xxx)~{wnwXI-DUvbsbHmt2d81 zx_)W*Cd>aMF1BF)spFAwrL)bJ)fRUk`~BIv-_~M!bB^1htc|GOV(-i0z3FDK^c(ui zg>u?vv6dlpI9J`y7aEf*T_a;N%}m6UU!Yj$`8cZ7%sZX&y4jO7Hd$rL)xUke|ut~IgQX%I?*w_K*{j=8or|Il- z%HMRb^Y)3*9lQNo{eKs(XPe8W?0#*J))*|^nH?q}Bg7q=fV2Hee4*zsEb;t)HOPNS zgg*Jl_BPI;C2o?vfHO&v$cl?f=7*=+rzhtC?c)<_#z@nXlMCtV&aKEIk=L@vU@XzW zbKM=REA92#qs!WGy1-h_;F@0>IJWd}x+MFrJ&===rzaVnMZ(>aDlxZQoPV489>$|f zZO7%U>*5|sVZq&;fzna6ZKNYFN?uc7Uhn=&OrVmfqkzp(_t3a&7eUYMxRdT7tG}{w z*J)EkWqQ}@rRjKDSjjIN-T+t(Bc2O;GKawYtHs5@_^Dk&d;k2pQb*IhVV4)w8fVj2 zslBv=9@z(RezJz^g@`j|)349hV}bFSmEDA**Yg*${q{No1iRjhL29*v6ia)q#<(30 zXZDzf+0C_A&$rqlH=_>|XKF*v!x!iiYC{(Tw-nFaVOzil(YP(k2hoJBxd+kEEww9u zik_|Qd#<3`#woj>eO;vvK3v^cJ=G7XmmNqw!k7PgBba9ItO8_*zh5;y6kn1KUvRe` z7PgAT!4$mU_2_4}RFd+)w(T^kT!=v$Rcfg>y(xbnh&CQgVJbXF@O7=a?4;?E-Z`x- zJx~R`0iFg~*?HI?t4pojCkqibpCg1Nf=f=qhfMneS5^b#d&DeF_jYW~?N0@7!iVnn z?zN|ThHjV71LK!Gwrb9YE=-=!hcEKa2}#~!wn}mWeO(`Ip2e0sYOnks z$Y)z>IYYN*CyV;<(h$_{ z<+dxlb^48O=E{E%+aVMauGscdH;|r*cT&+5Rh@uKnSr?+nt-`dH!oA8$9nSlX*QE& zO6ZrD7FS2ZFV><4!&t!|>PrG>HQd5RSYIJ(UKN&fVqRx39OSFqV7&#GXn!V`rd{FewrqMF2FHhN+PFmFZpsi4j`MAsB zj|V{#l;Af!f2|6YQp&trjsC}zQT4+;T%EZrT2&Z1+oA0PMyh*BWzy)m4(W}4i?(yk zU#=A8?B}3u5a}uH9GY=dlMyq6In3@%T|!{U8OK)xwjFZ06GuYolgEqFGIqkH?25X%021D7ZULU*c@I+qCFU z_PjL64jhJtc@pO*t(+Q@DzwIH_#+o?j~Czb4|Pis#HZQfB{x&9k6N^)OtivQ`A!2G z(m9250(=MczHPGObop(w;ippc>GB#!4og0a&QixEG^&lj(iEwscj-Mb)x*%Du}M9} zVafN7OvYP3)dW?&?dtWa_4rpXKK+#{5jAD8Qn&6~6$nX7kaKGDz#1!?a{DrS%Z(x2 zFnTI5o2?|wH#b&V!&|vs_T|J)l7rt()$Xm?%QfR}*ZbE0i_`I!z4MfLVvEH@<@av1 z`lS{mWiI}`qt>mUF!OsA(}?x`73$V+W93oCBEN1+Y6*Upm`zu2#06@#86ZJc;wJYXei0QoHi2!wsK`{>XjtdGyD^Aj_!a;0VwWPzD>L48TvW0qt~W$Zv-EwNf$sFU zqHlUKMNKO&r`s$CEG2 zD?KVe*rM<t z9rp|StEaZS?VIV~a~$mgPa9^8V%_QH-`Rr}h|e<1SLQgkFE_=aoS>piAgxCCjoPk} znxG9>e*Kl8Ph2!2bC%`zV9SSUa?2>rcocW6g_Oz~Th6!&W~-aiB!PdGX7RDhEi`jX z@d`0pwx001mb*l@0_in#>MS;alUG+3y%v`&3R9wGRZnP-3Z~{>KNyr!X7#b-0F(AHSt%3#cL=-w}+nj=`*y>m~qUJ_eCKt0WSj1cRr3B9plt4k#r+30$9&x87QGd%Dgv$?v-^*=V@T6> z$$Gq!f@CBbU4tpBAjVCsg>1=6a)XlEiKo?q+UnN7v9@=m_6^<55PRl#CRgeIH(8m$ zz_|1d+$a;) zONSzoOW?m(*~esX7Wi@lM=mO>>OHISF6Z0vN6#=JA#&I`yY$`%Oh=qnXd2FCmHPOh z5fD30GHDlIj$s@l9%YDq&(#sX7!IUNTzp}{A&Nk{k=P;?)lnd-T=cv8=rPAF(?UjO z9_5!jaV5=tSDH2I)_-Hi4j%pcdKBXAX``k5!ZCct`M#S7qIxx~Ppc)hmHVr;8!xM( zWgDTDtqBZnNr~jeyO;jSf|ANAmr=(15D9O!ITm?OLBXu#gLbXZoHAC43Clq|x1~C<37Zt^i($J2amzq+Z59E_L6Ko5+ z8jfsDW1nBxYPa^N#mGJV&1YSr_uDPUD$qKjxOwL&F5L_ zl-~j-ml^^Com%JyRZ1wa2VY_H`_08$=5B5s72BWt>3@g~;q zQ`*q$2XT$3-xuP%&&Me@*Kd%ur>Kr&jN2=SXDz-}nmwgjU*pCXnJDuAdhk8ENC|g` zgLhfGjHlLYwlHdC)#B$bn!ho8{qyhQAqOlUChkNj=Jx3G;SUdXvIm)t$g7B5Vty+6 z6{+IS5tQeeEl12BaXCmY7O{Yverk}UpecNq6Uxpk=bN40jEvAE8X1~k3baY^WQPb$ zBiLGJE6l{KBv}%uks%H?D#v2>H=gvl!lFSMV=*EF^&2qjtX3w+dE!!kh66I&Sq0oQliAL9xJ)$VLonX+b9zm z!S@abc(MK24JH({a+ENb5McdotEPE8wBZDOYQM_-Lc=7sRbOcWs+>ym+e#vzcn=** zwl!X4QxQg`##0jdq_0S>^1cGV|5cvB)d)VXJJKUuQ@qJQL(LU_N~XI5?StVv__lf1 z@8dkk^5_83t%WnCPc6O*n%BG}9SXQ-HKNBQtlDvq9h(ckdY?LtgG$V7Nu`?hTm!ref=eC zU(@xKv7*$yP0`7AxGa_$sXf?@MVoD=fZfeQ&hFbU@v}rH6+v5)0ZyUpWaV`C;uyt* zQf=&w28HvZ(c*F0QUMM11vitcPdsUELlGM1n`)bv2Ndfy{&*BeU9TIV! ztB7v?%Zo!>J+-g~i%nBuVA#E;B0bZ^s{>=MMfF!Qc$KRc*(32mJOvr;c|0^lczt?- z3JKA%nLA`@dOisk5y4R!O@yqyPUNU%oLNluYs z46=@ki3oswT!v~I@Ehej4x2>gAMcOOfittBjH(z@2RGMcV|tUsOl>p)B2AgAzJAE_ zRCLO6#06gyIArYHH`N1(e|^etY6$y7lK;01mER)rKAI6zbQ3cFef13UN;Ro>;+>iY zd6ACyI5&CE_wWd{Xg50nJn6iNd?LFq9KQ31V@@r58tcL8R-1VYXG>FsfJv^a8N}`J z%1kw8&DZ^ZDJJ|YO=Q7b9CrzY`w&L_%VO70F|7tke`jSYvlFOg6n|(O8GX?}M?L!) zgz8b=6w~HqwxN-*z^T;3v|WXdT^oM9X2m^P9Weevz)!Ia{P=w?!sU*z&zXd5XLsscuZ_1zQ38Wa&BpG{k!Daxr&FZ`2h?3}N!%eEd|(aP|&{~838 z-E7w+w_Jf@&76O?6oeoIA{tyBGebK5E-pFwUGEMI0&glTlhJDPqvl* zNp{Wv#}H%?oSoTnDW9Q0-6fk1p^;^1(b+%Q*ke6r4;%+O1z$TAyzcj?t&+FQz99$R zNIZ=KJllaW5V-bPfM?;Gajq}#M^$u?I?tq< zg^}N7qkiC~Jg(26R+-aMb0ps@ezwcdNkt!wStfxN<^8TS`Q-Akyb+r>p^iqa@a2;e zKbv5gVjC)n;B_0kwKmt>lIo_)qDOjL&1@J&)IjeX1~ntO)a?ngbwvc;gp9BixhWY@ z3C3WDwz9>;td>9V(;vM$Bh;d~UC)(-pf$-EJ=GX={I@R%6BwTl!p1m#R0~8*oKoeV z0>>OFMngV#KJCht9A&92*;Jvq(fLu9^2LeNi6)L!3t5g6WgrvqMUtw8>Rm6`{R=FUi%H>^g!m z7wD5?WY{>AQR`QcrR>OJXrZ>_WkcDl!YO~&z+AFXD`cdI6Gp3Y_8{0*F+R*l>T9-sskNxVz+z-<~A>Rs~PAGg~A5Rh72y_Dnyd5nr;}s3YHWKePEM z&_(p^4h7hD-vhP?@F%L=%dO&mJ5_pEUhyz;ai9t}s6>hiVn++yb|n>@VgS6)B!2axyvR zUbbWSIJ(E9R`{QK`jVr7wtu5|d!I+SIo)4?a<}`1w(Z|7*9M#6Juk49m->e%ng97^ zEbt*4F$ykfPc&+bGaKS$lvj25>{yPFeI{t|#npK198{Wj<0RFjkPKRMD9VgrSGgJM z;S$-Su+b#fPDXXfdFIIYyQ4|g4_mLJ|NVn=7+boCC9v=fHfe-fDf--$oF<3kQUq#;=4b^HYH(tPD`zVmT`DAlHw#b%$oe|gJAE6F9V#S zq<)r7Rzl4-DmkMZYB9Z6Itj)5?zU5} zB<{OaGCL&gzISfdA5lBX^)^$PZ0a4bnAtVvc{LUYREP4^36P^!biMYp*J3`lVh+;$ z6{q3U)@>kh&@pDU`z`C)RNl*nxDnTEx%Tb?+da^!`p00W3QJe{;A%wi^UpX0h(@TL zW{A@#6Ds#~3bc(G=?_7|!Wj@|?E${*Mg>dmqt!TDdxcdSuz>q!T z6)u$zUv3=pzVcz>VgZ4UxQDhq0$Yj_9aE172+Sxtc++eiK}{?-?oMmWt9=v8o0&*d zUdcar)oqLQMkmn8*mhbv?km=tn(tTU|NS{~RPtMk+H@Ab_%(?xiEZ82oaJq+npP58 zlA0!2ViN)(87CF?U6P^bmu~M6P$UczlpS|Wzg$emC}p=@n_ly9)Z@U-a%i!`pm${U z%T2EPLM$4;(m7jzUN1wyr=S?6h094(Yf=XAR?+BjPhw3xB&(+WS>3Q{F}U$gCDl7` z=8iz&=U3#Sh~S<-rd@oT`Z)-krOW5<>uZJntIkQM$;Mu2|YWvHjf&q@rV*Pm8&(|-}On* zwgb)@4z%MPeHR ztdz94f@XSuf{!aHN;?CUewAWdj4&QD^v;w#y|?{WKqjzhlu6_i?IFl=B+s)GtO=T9 zxmzo8`mI^zA*){Le7>6Nz;I>C5;u!K`A5}B<>1dM*T2VV6Z()<;oS5uU6Q#3dAFUzOXT~ zznqoNs+ny>c>-o^U|oA{V|I_};Uv!h^yatMcvw?(EuI~#oLoi3({psW2a;Tu>+OY$ zAPA7{l|UppZhC1pzf5JMArj@wDfI}?z*{!W!~(Z;DJCQUqV%bi8bCDi_C9DLXVK(*s9# zZ#XGF-UzCBh;66z%u<4Q94XtBDH&O@C9G01AF$LPEb}GKef^CJF)HM8^lNxDtSX-;h zR6t_!-DhGJ;}6m(M9&AYwVWkGZr`(c)6p7K^-%6JO!2ZH&B~fE2*V3dw?XrUCn?tU z)WvPK?D8fg?#s(k&i)t1#Tbg;O7oSAmO?!cd?sC({8vlKO4ZDdsBvhMD{3J+ChE;x z+2(Cv&ZK*K%+3{sj}+UZwKUHMWcCo0e?0yPw@9C2@fgr`{C7ggQLArXLw>!KIyELtZB zwtQ;8JW%g8q+Q;$(&O2V!9gRReib8M+yzNBOfM>^Djgr7Y1vGM-v)L%ekb`3QfSZD za_TKT-kY#)vO*YNy@X_`rcMnf!)hpchG$3OY8||2XZ+pO4nIdPfk|uT2g=+^Qfa;U zBkQx%Xrp>6Y#!_q{%6(1S65Rdj|1asdy%@@Zji(4u_ZDEk#|YBw6csNNNqvNi|_J` z8yt59TW)oHE-51K9i#z=@d0pJFIu%%vzQ# zrJB}h=KA84g#w{#>fXn8-*z?I?EV)oH9Po{rrEvsziMkz=Bm`b{-CvQ`|Jv@Y7Vd( z-pc=fQ~dSctu@8&FLJNAt)e!?T&IX@i?>eE)+yH7BF##1dBVajzl=G^LfU<&-wFA; z!?bypt+HSag+I4jSz$Sx8%F!fHfdmTt3^QVq&LW@7s#yL*PD)W!s>ZUcSBv~I7Ho$ zUZIr>*>_VihEiTS9DVChCYXXAeGk)!%aW|#+(qw2xK7a*-K85={f)y!Xhmk-xwSfs zsX1nG7^yS7>YHKXccf^T?eHtSn<@*#m}(SvIcCD!nd27&&*&P^FGW&I8pjw^#smC5 z1LahDhs-pbY?)R!QvNz=w~NN-&9h=+=Ab2xdT0kq(IfQ+4~-K;1v9XA=sO*Y=G_GylVj1kt$H=&1Q|vt zs8eyy^j=2DS~cs`vLsZX%AI;l3h7UzKZUN#(?$X;+FkYT;Z+r7O2?PsX>t@udQA!g zkK<{p^aPJItCPAf36m$JJR#O6L)o7F-i(-9h2v68)G8BtVqGgTc!nL6RBVt=OSFz< zWG{3ePQ4DC(>L*=F>Ut9$r@Y(W}(Zm9rA*Yy`%v*ZSNSuY-pu?>jc)eiaXi&oPIsi z7DR!=dbSoz)jao1V$iCRb;3?f|N|T3($$(@Y=&i%^HXv)!zC}vEO768ynLb$!)MJo& zmgl1T^sa|LKf;u~K6^{fbDI`pqOn;1sH{5FcYDf{x!L0cgUH@mkn2X}UwxHV)yxEy zrb1?S$T4re8K;*VS?UzjMhLv}3{Sa^l8U3FKf$0M;i?ZF}?!NFUxHMj}(opo;Jbp4Zf!2rr7~{jB zv7e8vMs~{FnpUQU$mW?=_u1h)<6)B{ucaYXWhu~1r#VMmsf8>ZY$$+VW88P_Rs3T;eE z*&*=?og)Qvh_=GqkZx%RBdxojaR!#EG@F*G9F&+|F7TaVpqY|xl%db9lVmdJdAlqx zb6h9B3|Snm@FB-H4>wzA(!gX!&$PRKWBG6ct239R=}&M9XqgtWBXCw8oi`9XzK_o! zutmOX^2wB|Qc0!9SP;7oedwz(LIBH}qy>Cr77$=+1=Qt=J%)Lw+_o0hGZ>$P4jW-R_HcwLC!lGVEn_#>iCT7a19iGvrj?g-;H)G~)j-f5B(Nb5z3}}}ADU-}c zt=_o1}S%23s}kGIf@M3aL+PcH2)q zMcTw?d|0%LSwr9uTVI@>CO}EAf6#?_f0ga4y@jgH-cb-fru!1IFA{DK0sY=TEwjtW z$2GO*W12qXW7g_7wK|3W43GV3oSS`ScGls$T&$Zg@PZ{t_KwAq(?qQO8aXh=8@H|V zW~?oDbZC1yCScL+Q{EX0*C`exkgIxsG3Rr7s0i~B#_54b#YgrRKRylCzTSo3$ z0|nGbAKRWLvBxx1D5P^5AGZa1Qc2p9C2*Nxsjlp{bys`Gr}kWVkK;3dltYVoMOTi* z<=Ie?w)+Z2Wemzl#E+)P9-uO&1#qgI9`kHV`%mc_6WWbjT}&B4S@U9Q!sQeUEKAMJmvZ`a0q zoGbZw+shn#ESOU1S4(dNaLKKNdUk-CQEzP(nALTq2= ze#wH%#XeUUX)vu*-t8!IqUD%>KFNdAY}xIQofci9TYGO`c|W&Wp4#}VS}E$;o)cskYc)C|iB?&C;cD0t+K75z*Z@;P%KJ=? zMGN1Z%4$E)ty4Tq6W_F(UgI>WP35y0H;wGjKGZ5x(#xD0j(#?`LGxg7n0T#MI-FXT zPFumr+4=I^;y+l((d(vm5Fg8{6JIQ@Tm0ofE_XLmhYE7F`HGl!)MmbpN5JUIC>yR@ zVl=O0>P~36tqy5-zCbSv_NG9$sp%clxBY3Gwyzb}X{t3X(zHOkwOLKeZAtz%<2I2% zTd?arP{DR()>c{FTCr=uE^Qig$quKJ);uz-lb6X=n3UJ|DtsUet;p#RU4=2EvZ7u3 z_8!RoabDSGr!jIgZVV(<(t*m^Gjf&9`~K-J83HoMl+*7~B1x7P^rC>PS-A{7m=`B}0X(qTZ~|K9p;3_9lh64yk%Hj=jprQ_1me5+B`#-^#DocZvVW@1rgyvrg)l9vi;ck?8`y&{C zvq@ew3EsmGv%i(*bBt?;ceIYryL)T0LPmS&iv;uriaz}=J*hU3U-#DSav4bSVIB4d z;Z)aPVMhVugnY4xk6=!6uc0V6d0(2dJ};*>OrqOSTv$2z zK3~Lf&-ieBhm$z&nI(?$b~W|3qh}WB8Xwj%`YV~Oiy`mDINScr-P(`^M>!V6XRZ=l z)^j~=sSxlo$NmJYfX(i%pH*Z2Cy{w&XiN-~^_a3qU(1(BYU;y^Yg#{va$0YRxyC9u zS%)Vv)v$fr%wpkY3NUC^OZNx4?$)z?tId(yYQqG_O>Ju`!RvbJ8|#@7n)~XS7|Lza z+4DK>*2*;Ye!k?^TB|1aYgrOckh|G6X0^@iH+wd$Hd}u^jdCP= zJ7lG#Uq1-EcVKbcvmCUSJr(aCuwB}4$BaJm4PPU)J(ow(wv-s`s2qz7J(wyx;0p6O%w;`H4fyw&HBFKwntrm==+ zJ_@K0pQIHPvkJ5+HQwIa$)khPD?zyQ^$SNY9nqn$w1QM{7dOyRQhCx4%>oQXsqInd zTqjSVb(aXp&PCgVnX2<%8E||qkD`Myaw4@wlDqa`&~bRMfF{RQw>-#O3!QkZWsal$ zDGgjT`l<&6*}-;#3^RqQDLiL754}=1&06wwtH^<10bk!rw{MMmnsw)CR-APuI<~{C z{OWpj{7&&TmF@Uk?#jQ_0Gv8J31>GAr-tL7_yy*8Do~NAIbS8!t%rJLZ56Crj&%yl zEgP#Kyle-v=g-K9**50=W5*DpI$8aZKf7U$p-@}&D}$qI8=DeJZuQix>SUAoVuil_ z##gp?mZFn2ip z`5KoNQ*|4LvmZaRHR5kEPF=1R6x~Kdbej~()Z4Kgz6}unu1D~h!KZ2e9-nWI&rdJJ z(<^vRkfDW5SzhAy%Gu^vn_Z|hZt>1^teTG&^cMLXZc>RHzf*km8|Eo@xiY{qds>x> zyN#nA;6)?-H|(^oJ92h*l0u^v}&TatE~##_$1ZMW==bk?%5zhlRGI{fV*P~m~fwrVy|g>H?x z6=W*JRDf05x_JFXYYzQp36I?9y!34yfWzcR=YYd_IWzgPa^=gDog-giE&+k)zY64ss0kP))clVo9<#?p&EwrCtsewL@j?Lu3@jKmQ@RQ|PI&yzB);+yN)FgeN zkxs)+%0ZEaCIy2|7S&GL(loT*(saG5m7+>kOVlwOIzvsCd#Ltl4O}ACj_v4^rJU>R zpcf`wmr(|co0NjI%^>A~85^<=W`dGlP0Lvt8ROKaZe--syL|;}yrmMKe~MJ|jdguY zG<7}QNcFm$cb1b|l8)bL21Q?yI`x>okX+hM4aXP8)Phrw>5q*n$f@CQ8TZysyaj*9=aP}Z_VZjlIqFlEO`YepE$8HhbM%D_7Ex*U%vgDu z3G*htbd8T^GdcbQ4y_NDv+_Ao+Nh?l)3{&N^|mkc`+$z`iv{JZ|N8>ucHbS7wIhzS z$HM^;1_)+F73PFY!LXMDeKUd&P=V6j;j-hb^ZeR3uW8iN%l(q7c zvQLtwxcLxS#}NE9YkFZ%E_{d3Izh%}*IeA(LkA(1=!{`6(}8a^IMaF19rEsgm1`e^ zh{=;tUT_#)lraBv4quDwy zQ@G0oHQQjLu8vU~*n8_zn!N2It9!QqJ&HeBXuo*Li`G7lzB9PxhM!^JWJ?H?%s!{~suiler*lP{>S_nH_xDV!#0-zu5Y5Sktt}gJmB2BwydJN|6Y<}Y z8y%wqq>81k|u=Z_FYum@@lX$ z?*qFV!J3cM4>b=h)7NIcwrF=7U0rihpE0T5l+(;k~0PM7i1|$^9fmZXI#IRA#&I3JY^?bdo-$XS4(moGF|4#-4DpxZkESfI>y&? z>8@?<&dWZC&lxzki`TXSZt7~*u9Z!Dr!ldl^T;lT4|8zyVW-(kp%t^ffnHk~5(~s6 zePc{9AkEDy*ct;Dc>_s*h6RY;Hz=26j@9qZVwF#e)+dJA=avRv`k=IBdlY zHF)}H&6%Y&CzkS9U6ciQrYDN#_=I7y;$VsfZ9S?FQ~t!;rE;84CaV^m;~cweL+3c} zF5A$K6b927DG?LAR4IGmU5EZ`6Vn74`qG~Fvb{dlMW1`bb}~!~zlPx*U&~EY-tyzc zbtxMn`C~!c_VovYjCLVv09QSG8$ucYQG*^S4Z$!qDGkCfHL2SNk-ClOpj6c+tf93v zj~U=IUK`Pw32?oFsX69JzaC}2vgBH(VCrFBev~+U8i25j;^jN_z$D}xI>lT*(aCm3 zY$s$a1C1F{XEvQ1r}a4c5)*xgsjE$8`KuV*XPFYzA35sY=zivi$Z`(De7QK@fw`z2 z1)#{XEw#%whg$l$#?42wTVJryukLvaI&)L&2=t*@ea`+^wXnmSYtEmurw-z%OxB?u zsLT|~`oy|EBE|i5n({vD?O3$;#cw4ib*fUa3(T5+6t6DZ+xp(xbAAF{YruDf; zIs}_B;{m7;{`!N`-(iq%oyojU?q*WotPhU~eC&jUbg@K(dyXV^U)B2rjT%W+bVOtJ zN9^grJVfbS(U&3l`;5c-d+KTP{apG;HYQ$Vc*ZD3hnZ}?lEN^xOA2YXnpBWuiawcI z)H@RPhup`#&jF5G2YhJJmo^{&E6W!Fy-!@o$1~{Y`w|_RV@}3&>}jK^K+c$)xx!zQ zQ*;!K^)Wdm^Y01om>l{DZZiRW4K&|M&_=MFUi{ok)!;GYYix-fut=s?lvPG zqf669Z;imI4(pj%2DKfWeetn7(%we$sZmwZ?}O2%!2 z(j*=0$RMsg@2DP?Qp2oGWULon{ch#i%F{QI6kC^+<7h}BEhX#sT z8-mio-}R-J-N)2gIi00o-qF%8Y8Nw;>xPFgT^v#!$z#{9TRk+?LHc^8y-+Mnju)$r zF%-;aM={PfyC!L@eAAb4tkTw9(K{nXmP2G0O;V5?r;~JKETt#6sN6I@t!nMM^w1Eg zL;2JsPcxd;TJK0pFYR503Hml4e}kq)&rJ>b8|Mx;^**uqb)?L`Kv1R$jT+Jgs@<>SgNKV?~%R+r47hvSrP! zE0;8zPOv4LFY(b8;^ayD7S@F91H4(i(LpF`9YQayk&fzdL@g~A(kVI0*MCNPvWC-L zgzO{nL4;MqXagvhqFF+7rSTE(a?EA>0H01-jc{zPxBuDw)$TEK8?wp(I;4xqn?TQ17b|uGAFM?GE z7Qt$hh?)}?D3a8HMKa8h)Qus1U@>G&GOQPw==SV^-9Ey%2kvcNc7W2iSy?NvbdU}& z%0enI-Qkq1Ei!UxO;XN;XR}78>~AY_ZvmsX%CGVCC)?$_j(WD@?r2E!t+2JG8H(!g zkRB~)NQ-fWzgZJAJ4xB>4mnVeNwvXzr;j7_`XC0mz7e^{W6~^nz-${0R?@x2UHtj> zWC`P8vO4UYZZJ@+(3&cAwT!br5!JFPAfZ}XGLTR`NZvq^22t;eL#TK?oO!zq+qi5xGm$SaQ-cZ6WtURAbrH>nvCbPl~p>P~K5%6y9! zg_Y&+G3WIHn)Q|=lI1>qV__l(#n_znYdOu4f!ukM^bJEEVaRNR=k5GWR_l}{Q48G1 zxL;l}uW{6U8QK>r@QpLq&-cEvk5_Yte5!jhog9U3;C^_i=G#-|6lpJAbrL{}%+`xo z`pXn<4sEw?`DkS$xzVaLq@`M=w+}J1Pv|iQ1M;P6ip6>x)2&78V5sS`PGXuCy!4=~ zqnAN=tIB_g<^=Px^VZ_i4RkEfHvI~S6a zwKW^CGV%-Go&U;UzBafID}!_m+tC9s56gj9CE4o$b*|=CH*RNL2KTjj?bjUV?U>K9 zE$yQH5lmMg3f5ZRbMyC?bxSwPSDv#XCDyKMLC$31=RhLIJ^PDXy4$p|S+OjouWPx1 zx?~PPXa+A zG{to*hlX~QQ>A89`nvI&p?`TGFa=fbE60aChWP@G2>U-RJK ztpt1DD9@!Wy%IvCK#hQ9RMk;i)mf@@tLi+9Cf>B50;jgMu#Z%18A3vmsUQw4{6rJzfxELyKRB&Q0>0aaF2MeRAKir}bNm+DqSN=0_7 zHr!KGCHNLq26w4MMNPs@l!NdUrd;3I;~euCyVcAQgvhEq(-U}d9?wCjgY8rxS&b9y z&hg@Jo7; zxJC$Zs|JKyu$`Y*sUPAnFZO<DB+d^SHiWDxoz&<%kXPf ztCc!@NbSHACsArCJO%v$KT6A_Qj3Cq9bAqTb`_*-Ba77g8JDO~<06&h)ltNyQ#!E z2K3ezZgW-1ZR3ch+~=QUsD+9)S_<42i+I99#7o?)+e+1f9)9WwmkZsKv0LuJ6TbAT zgVVm$s|6)1to2-Z$Auj4ZcgD6HLhjcLglY@>a7mA zIYv{S4xU-UAC;cuF*Ltd*N2gE??I1JdoJ(MQBg(~suQ#*Il+xG!-bLOE-%%PBTcf;TwKJ_&;Y z38i>0TC`TjI(F%Cnfz-JS>ZXONql4wv?+cF*jixOYS(q%g zI289z;v}}gO#`kvcmt>+ry<2{rvoiI#RGm4gTbU$F(kPetayb!~*!-r>P}81|NBO#H=KQABq4|w_ejJ`N$DWD<*ZC;Q>&O1cwtGL9l?}NP?pX77`py za16mBf@2AeBRHPm1cJo`Clb7q;3R^R36>BnB{+p(89_5a3qdPE8^Lmd6$C2@RuQZw zIF(=x!CHdT2-XptPOzS!onQk&2SF#nMuJTQn+diMbP=3Ea3(=FK@UMMK_9_Zg0l$v z36cZ@1cLhpuy9mxDIFI0bf_D=P5xj>WMKDZ|Cdd$E2}TG;3C0L=1n(u- zL69dHCnyjU2}%Sz3CaXCi=R;;s1i&N>>}7rFiCI$!G#3xBe;m*{R9^i>>=1oa0$T_ z!KDP35qyB)a)K)et|a&%!BqrT6I?^^4+Pf|e2CyWf)5j1Pw)|fj}qKKa3jG@1UD1h zLU1d=#|UmC_(y`<2|iBn34%`&e2U->f;$O5O>h^%X9(^l_$uN9wPWU!NUaqOz;T7HwYdj_$I+)1ph+tErM?o ze23t>1dkJZkKhS{CkdV+_&&kY1pi9#1A>1e_#wfM2%aJMcYYo z)1EyPWn+dTUImOdtwPL+IS3!8fsZ&--AG<|CW6eR$26^q&sJdsH?BrVPtP?Me{)oW z#bKv$;D1c+=4<17=Ef698;j&+;2=!Xssx@ToOufyG&R5J{7{^M6T58I!VvPH2k1CE znl2fLGLfKs;)=rAdo{tyfT^~`LOgiy$>7BnhMLxcgS>|0Jb|J&$)gfOhGr_HS{U)UNHCH)^(%wW{&CCfg$*d~skWxMb5ZDX7NW$c z^x=f(OsS4bmLWhK_czUoH_eSxVrPMQkOaPDSv=gZSkaJmD1Jxaw-CQ$!_hh6C^fS= z)FkFmCJyCFJ(S2Jm^^~Wg-k9a@>nL11&Kzw7N4iDjn4VmqI1F(RWk%aw;@&$xVhB(8ScjC=+w!5|PUc zxy0pikX&ZTWp+&NTqQ9qFa)tB&^VQpqjJkpx#g(ba#U_PDqW6Bm!s0pzNou*P^q0(IvtZ-tnaZ&&44oAZ?qG;*5Z7hpNP1tDDZfaQEA<-jsB&!Uu zjLKv;mx+Yyjw|Y!e1mFgqjon%h{)rM&CQF=&5P+~3er6zx?mpW<4^**{^IkXU4@Q7 z9|e7cbZeRg(32R$j0i@xhFhsOa|{U2F@S{_;#70tBZ$$IjZ>-{w}dEe)wG23K$D5c zVh+6+&x>hIv?0oY<|!jl=8+aBPop-&5w4;xKY-ua_??H}d#KyR2?hwxCOD7aJ(S|c z3`x<(3|9*E?kLqzoM3?9Y=ZL$-h&})4z%46N(G^#O^YePi@BH=Q=u&mN29u~cAKi$ zZHjd_7hqFK0yMr)2LQ2H6I4n^914Nfl#4fwAHm(fDTlm;8!H$ODR1kW_FT%cWX~Sz znR~8in!0+`7at>P1o~xme181nv9CqKtZju?{xs8>%3nCoJN8Ct0 z!jVvE&OtY!mO~w}fd+v@f=6WDyey$Qt;KM1**`cH`Czs7mA!2LXu#)-2m z6gm=3?5~uu1UH&Qm?Fo(`&S9`UG4lXB2O%c#CTkulZf-RX%;;*fdL$y;JXA*hExdc zJ=74I5sHMOp;#y$N`wvy%?$nD_O3oQva7nk_vYihHy%IFJa0A*%$NZTEW`<8?|40~ z+%hQ+tf*5=;?iyF5`WCNn_|c=af-L~R`cFuRU^68Ml6+)(rP0GX(JicNQ)HIO}mu* zv6Z$ET2w)swy6YCK(tMzNQG))dw%EKd*_Y4+YhM-sl_{c-~BxI+;i_e_ndRjo5|b# zc3=2!Z3 zW730Yn;EEN6FGx)WDI8Mzf1qUJ1Txp*&yW)dPSNprA4bpj)9( z8#0AF@kdme07R?^+6Ww02@zxwu-fP&$RWrh2oMwz971p>g4ZEH)0P1?k?fFK;nj9v37hLuIB0n5Q!>#kIYP0<1^);q0~=)9Yh zF6d|nJH`(BAeF_>6-tyLO->}6Y*D(Pqn&M*7~_i`4xRX7xFjuRk}Y;AUC>blGrmf( z0V@^8FHpRI2bVxxfZ)JT=LG6pxRjwbzMr))dk#Gu%pz&oNTSSjDbsabE^}R!QOb94 zI1&GEc!;zwQiOZ&)QX)(4&&sQ!(wbahvAn*1SS?j%-}R7ik(Xka|3$fG$HgldpOoQ zd-OpG(e^qjKt`b6=@D=?r(r;l@z^Tej>7i2K2&Uff>==@a0|4z%fnUvmSnq@z#2)?%d;GwXa0g!+&Pcn0)nTQQ;j0JgXLKQ7kmxDC5UJqVlN_wbIr%T z_kF4l)*Fom@}OLsnI-B~fI#O0tv2e0C`)}7+ya!3z!M>F)B`!&&-f%TP_hE1?9fht z9ootEd6w0%@CRr$I-S<(Ajvyfw-0=l*(Z;Z0QJ+Vh>qyI9Gwe<6VRiH_8D15Pl!|xWoPKF|2h!?>r~KicwvmK{27|tfvs^ zmeCG3$ZeUtO_R3?^fncGoo$WhmX2&P!kdEdrUua2&SQobDT_AM`EDZYJOPyqFeg8E{T`nzB5}>TJt_-PvLhfl9V`oCZB&XEfZT~%I5`onYn0Z7bh!WM=HBQmp+39CsiJ{abSZX5_253S>N81 z&QT}J+t$xlQg{$v^vPGme4X{E0%}Ik-J$$3f94E^5UsPSZo#52Dr*>>_cad8?v=Fm zHG|j)W%eOcCB^Rob4QxJY=Qpo|3Oo$l&7L1leP?9BQVE z9kzQ=;k357jPNodeDR2%@*&sLgR1g0Hhexk8lW7PQ4ZS^)MUfdP$E$WXMGt4gA%Sn zWMn5yw-9*xaYP95D1(@iR~Dp^6x^?}-3QW)09Y^pAY}Cbko_5NDxwRn-}5^5IlY0b3aDww}0Vx*r5 ztK6d_&EsR9^yxwCPI`84sk*U2ou82Li;|a63c9Uvan+5P)~?ERlXY=F)s5XH`TCwJ z5e1vSP+(=kpg>}`&Hw_~z*)80#qL@_tLG40MsNke3ka?v*aPR?MZhssiBLI0y$Dqz zRF1A8xQ>9WmoFpuCW2QGd>6s1u=#?M$4B~M8x$fF#$xe3A`eg7MAvf6)4x^_#)3RH zy{U-i-nfrsQuGuDRmmQ)q@4DDj7QRJhZKFq~POpf05I=!z`Wt5V+N zr5a5uUL=`A%v*>#M$?)<#m@;Mv>Yf>qD_g|8R_+eJQnmw8a?&8XL@=mv8t5;b&DQ|GXOGp-Z%C0%<< zM>cijDkPx~NOK<1G_~@WuDfE!zRq}PqwBoT^dbwlM3?v#VN0{ZFJ@`$N^G8DN&+m2 z9wZWGyp9tgqc%HgWaueH8?5hWKK26lAHOD2)HPK_vW03D$Fx+8*If z+n+AB|G<+RRC6RkQVjEL5&$b&0L-#1343)Jww!oc`kXFQL~PsuE9Z(>RqZETi+L#w zRspFb0R%0Uv^rJ6uWDoy=2)F+7TKysYMf<$HI2Ub6p0rc(MCy5a-5*x(Zi+($(2qD z_Pi9dHM>B{+AyqiWn2`Lsk+Bf>@4(sisOV^fX);Y=wARK7&#)hbDi}>{SD6F z=!e?KxdmDKD#a*;OF7)I5SS&$Va+)r&6)2?qFE>XgPS*RLM@CJNCb`-m5d(ED3Qoh z%55~06D!miS~WQ?qiEd3&4h}gHK0;_k#T50O)rUIB?W-ta0u&2#(3hl3$mkgR z2KrR+=%ae?RH%sp8t>@%QxeDIukoUhz13mWD_)beCqh27HHw3nryQFwvYZsGKd?v8 zd=TA~GbLD{X0O+z~Sx(7v3Krx30`gwt>aV4;#j`MfpXHmVvoLL+1-{pKIT_%g_eG z&N_#CoWuE@5e{pd(-3R4U)JVQKc_NqPbpD89mNNTB^kGmBwmRe6=+Du6e5Fh7tJtm<~29lVNjz2YLpXoNz^&fkOc3sjz}(@dBgN}RNtez?@QH<=JG;o|Nz8=GJz z>s(?G=LN)hPF#|NdR)j@$YT)aIh6PXXf5Zs8>PVQaN?XK&T$tz9G*kfEewR&{UT65 zsgHpTy_&VTGg{ND2j;ZSWyWbokdgKDlq6U(Z*MVwUgW`_G<#qV0vd^bB)A1&2?5JZ zl@uirQ?idE1|@bOphut$1jHGj^>R$X({h9yMsbq`C|*Nnw6KID3Gg7{7*R)MvIJv9 z8I{R=*+??o=IWS0q}x2+F+vM0cx(>w2CI%UEM}eWriO_Q+r#$Zs*@VF3;VPA>S7y) zR~6G%*Udm?YzryMcP-J^O|^DT?2fR(239&e9TeMND7K$3w!g?LVTZ$~c&fz|yU0uJ zq&f393d21$b&+Or~G#%nrn*PzJz&2Z$U`ghpoD{Nc1O*B_OKMS2LB05fUPp#K zj_Amcjx^2s7%{OS6KgVOBMR+`S)C#Y!G)R}F->%=nb7%RdsiEE8zM>PIlcvg{30?m z79NrAIV{dmsMJZ{EB9 z%2)sB`X^sGch~x-?!Mf9di2TKdml(=N8bCT-wsY*Z9nwrSEk?fC-40JpP%{ir=NKI zTiI8>9RJ;~3{3QYG5F-4-uusA`JJB|`FMUV`rGfUzxM}!^Y3r_tvCJsd;j|8cV>Qn z{h9CI_{tMsoqNRlWc$bi&;QlK@A-?H;nUA=eDhzd){BS#0R(^9&ZJzM=#YUA2HY^x zE`0D@+ok`0+9g4UA{nsQutkK=6R9#T(K1hoex2y2ik_Es(;ofhTu=Y;B~+fneo_P| z$90MNm_+S+m(IZ>EC(wAcGMwAebIK1`!O_0(v}o^+pgRTkU^v*J&ecQau=14~JJ z%RA(zwU54fKp=Jd;VoBeW-?w7#`CaeEr^*8vqb1*D9CsN1id)wyC@%J%pK|zE`3WW z4g(HLG?s8l5YnTsW3H>dO0_TM3pVlL0xSi?7M1{nLPyjNpLiO7O}yo>?>Vj1L94G| zr#-eT&^pb*DIMEe7VV%#G%Vwt0rn!2d!z>-H=d!1!Cccky6h+k!Z*Q-zQ=ZfRx$b| zc0B-bK#spn5n;<9Z3@uC4duk6Ty?-+&J?31K3_irz>m|C4(KE$@Q>qP)=E*5kBatZ zsI&qPoIaw%87ifmGqe#(;TbHpGi+oJu-O8bP6B``l{`1i2xNTYrhp|K?KniBf(?^O zj!rOYMrk+YVb9SziFRmP_2G$iM4|{`AA1O+%QPm6)1MEwpXejXxkh}ara(4ipJu-v}cA)BoDVB--v*{EQP$KAFhoP{$ciqA%Z%Q2t=Dg(`7% zje|vbhN7>eU47R=7?jvFY%t(NDW6OLgZQ};k+h^eToM?cNMd}#V0@yB@s{KdCR^yc zAzkBO5o3HpU#Dw~Rf}jg=Q`RnqMc|GNX;aXnlVVtbdlPX{J~@kU2-ssk(p5mgUqgW z&PkB(YNBUJF!`>+tR)v-lsAy9O}RmD(&H8s>33853X1;c-LC1wjGu~_1)QbnNvW4` zMohaAFPYlI?JgfB*Rfwqr4pL*jW998Pl&bVTpyTBKoR<|ZHr{|PthjNR-6({l!OIa zq_c7%>T7#06!%=N7=4=doh|z=#R6ECI1x(%@I=Ys6pTiR8I6MVMWbQ9xL#Z**#Pe= z(Vli8SvU+MmZ z;tqF|ljpM-av(yF&mkYii^qJU;13YCye!CbQxM9xh}vK{0whbaSNY zlmm~By8v^X3b4W=VsnceX+tx>n%jn=1S)T`qPNXs-Bw$N9tvOvmR`S zK1P{AOmVOc65bSjJs(~kq$tvd#8MB|MxXxUsp_ofy51lVwtNL;?X7N~r!4?@b1&fQ zuC*{a)ol=Vj`X|cYL_x{ZU!!5(2`uz+OYCnWxfnZ#t}|&8Qg-mt1yl{_8=6`vf?77 zV3K?Sp}4cb>OV0KUnkH)SwdOvr?sAgLz;0-Ar+jpuNDbtv>_=+J|q|tWY!B2Wfzqj zc*U}7L3Nd{imTG#h03=21`Q{Dl90xUid09x9)oko7(HJlQhCB z=6nXc!b@2eO>)X(SC;D`ts)_&r^aK*KGf645ce_E)5nmXM<02;cteP|Y4tO`qiZVrKy!hUYVIwJGekO!psk-iH7uX53lCHe%EQ2!_%kjow%LJw2K8Jw+V48ug#QlL z^Y+#CC3<-^)C?RO8mJ526f=PR1TB3p0oiB5MCW@TZ89X>3@XBI3^29M`zqe3O-GAffk zs`}cS-F{C+J-k#M1mY-yTUH9=HGXG+kR_fIr2{t|D9#QeF02&MaVncB##gjxM@xjr z>}z&2PRlf!$8Aj+)`x`Sta6_{m=y|_i!bo3#g~YDhg~nj^wNfOn!m7wJ^RG#xI63jsELld_ABn99aQl zv#H!_;I14UVWGIn@vcx@WhuBC^d?y-M%4k*@@>eQ9^ObFw)%VC_1D|Bgty*%-|*K( zGj7id@mPAfZnWoJ`BSDyzsi5nyvlD}qBPumH@dLzmHtMzsL}Ioy|9$NL_9qBQh#Cp z`}{^2z;_QM-s0~|yuja=cz2&w{ap_CIDC%7D;!?s@C6R9ad@4>uW|S?hu`Gz6%N14 z;j1i_vRNiRGO*97E9mv<%5`13SWbGCSqpRO=n}J(OE7-}RGt|N9Gof6Ifw3YJuSe- zhdh?xOb(f%E8-M99Qs5R6zhh(|-$ zEsMxHLMczN0PPJRWBNKb`#LwMnDOmVLIgHP_s@G$+PuVVUNVI>uYf~PUztO@WO!+i zzcWt}Ida12dq!B^p@cwtk)ge4pfy>Ap;N@<3`xb;xZ-P6T4K(fhA0D6!HM947JVZ; z!wSte@@`_mU`@o&gfUy>;<}8a&gTpc9FRY*XEY1*xH>$-*x**;CDf3aVYSes(PlHa z74meG*SkLZd4bfI;4KhefPX+VPq}rssB|p|#`Gw&H5JK&EH)W-r;4geocN^fG7Y9F zq5$(wIt)M*`p*c@8%9dyY_^N*<|NnvYJZB@TU#w7oL4;gkovrw8z!7f3fWXG>6y!zG^G1yYRz*7gH_`7;G` z?XX3;u-_5=Qz;(D0-Mq4;owY3aoZF9Zng|%f1anQNcG_y7GKh{LFFvu6Ko3gijFqG zEucwv_5@ARJy{u_6&-ZF*jb|^4R8~{;2(zNE9n_+4T@%D(ssn;I;%t_zRfSwDu-G4 z>BH(kzC<|*c)sx=;~QC`%tGoBS@ov-1A@)AS(dak1k1(pwn& zNSlqV9kv*-f0yf0$eGV1Q4pVl_GekGTa%87jYbk1~8W0b2s)&1P8@Z^h`q)bLvDMSZ zR=1BW)yI}C<+-&=FuS^<)q+{9FL)JdlM-ZGdeEBU^JY&A$nXxtHtCGW zqXv_HsTAz{DS0l&*V^QiPa+s9!jliN#BwD!DI_v zaxg2OGe&G$t$L^KC~u!oi!+7`kZP0)mvl!2h2E9ohR8tIgoef$-beImR z?+{=gDYl7hzD_ZOxtGpZ-fW4cuYEB_T+}K$*$iH8kHQ(N%w(A!4krw-#%+N$G_b}&V2vcOhO6AIT*ziH&C1teD0d!?z(gOv5!3O6MG}(( zBTzX|2HJ9p`FE40#c8%2YsyN3a)aI^QC424$S3`zz-Yth_^>@}mq^$$@nKu;hu71V zRXoee#kRbT%8KANj;+(|>jPg-?H~oI@H7ZzUP(+63JG0uFpKH4rxL!aUu%@zvzOdG zd&%9iXLiqC@?5+{&pqd2GE4O=3A6Y2ZU=*62eT3|Xg2lU-!sr^w}nb0 zZVO}NAdHbDj1hy;h=DeATWCWEp$#RW4H;-d23qsB(3%IKHIvYq23oUgeGu<5@O-|% zkd>hlX^~h;BE*E97ud6W?>}P|ddhmT60Cx+MZ%6{RAv@*29*^+)D8K#%3}>SaJfut zN8-uD&KS24kHO~#Yq}foehc85k&T+o@td3zMlo{WHJ2?J+fYV`oUopOa z5Sq&=I?*EOYM?Pv<8GOy7mA5UodhgV|$L_6K*4u4sWVJayKC!%9yJvN2 z;^;lK+Vc24OUIha_tYm=Ct9_7b7gs=W?9jqZAHJF_<4)D=JII8{G#1YSF7W-D*kG9 zeoRTKT0K@Bmxz>4j87b`jU63BP0k*Z|C3W=6H`-@lg;sF_2^Q)b!@q{G`Te1nyj_z z&9SA`m6fTZt$KZ8Y-+MLH8D>3)~icn<115RM{BjoT9cq18>iUH(aBb|b*#Qptyd?G z9$Q^mJ-Tvqb-6XZx;nKoH957?nwqNDCMQ}G)nl#tN~=EJY)&j!SC39qn=510*3{AE z)$vxVwX#~DBvRBSC#x$H)%sWy_z?WnW^-wEX?${Wd3?Ots!cYJt**9~YPG3jleMMV z>J%ZmTCX+72>evFK6SKS9jD}Svw3u4wRUW!xw<+wzBIPnoUFHMtyLn=M6)_}thss% z3P11@3jZ%tc$p}?kf88`kFI?9v7gZRM@r-Q)?@2Gq4EDJjp-n8_#mK&$B|(;BF{UA zfAM2Wr+z;1L$vcJKlbRyA7j2xe_v|+EWSmS8^tB8 z?RS5!_-}ulzt6gXHY-21pnex?VFh!!@aXcdFMPDM{_yz2)rTK!t+kdOYbB@pRCC$- zzxKEFp|pwr;fL5E|CWE}O}&TT{piPL*47@tnfsB)Rv!IWt95U4ZH>!rzJ=NsezX|> zfBv(XxI-4c6Q?&H>$!T1eEi|NnNKXHt(To{$;%GD75anLL)OC--fum~KbL?XU3i#( zw&6Y2`?=op>3{hl;P{-%n&-O|9RBvSeOS(L&mZJ3&3}*jdU||CJifpke5K@WjRL#GdwG0|q4Xcmxb^RIs!GsltbE>DGTm7n$ z#dP!%?R$SHL(1>9rs)4M`3Vf_Z-DB{PY|^D2P2k}zXNm2e$3Bg(BDbxjnsaY%6^So zzMFqc;0$B@YgCHwpFWsZv7V*><2>>@#qLq5F>8Wi@8hq`zn{OB{}F}vamMrg3dSP} zPd(0${ z_e=oq^*+!0ynpK^SL4>Lytc<7O;; zWovAtkLskryvnafQ~Y1}YF+5R5@>fQ6YbWjXPTsqMdP)`#!~)*Ppto7e2xg}0A3Zr z^JiRm)eN|9$d~gf5aT|jiE;V$4fPj*Ok=~j<3u~#TG^Gu|MKfEoEiedXgOwTtLtfY zeNG+b)WO0A$EGliWldyk%$JNgPqCX_ZKL)6cmMTJ0tRC)MQz5h1{W%gxJY@?iqeRR zKntv>(5XD+0ZTMd&tReo6EB)TyKM_pHXg2EVJHpppl!xRl!gQp$vET#F_Z}4$_eP9 zBoLxRSN2dFAkiKrkPKIQs4b4r9#{k&=^31B*Kt|inP(pd2O{|;3 zr*(1&lB4p(kuFV7tgH1!`J!`ts$Fq}^0BQ>IRB)&C`V#lv}1}st@Ac0V1FKft*QsQ z18MM}St=LTA*w3NAlm8;S*WA&MYD5c{AuU`wPu6Ic|%W>z(?F4wfcrpe&ZsD3U5IV z{%651E$H+4kAaYyHjoqzz0h1o^Kti1EBC(vH?#lR8h|G;oE*VAef)2uJO|}^|9vR0 zu&Uaz>S15fN&oo|K!JNOz&tehCz^-S2Bux$zYfLXv~dl+v4#U{ywtCHh5xHBz-|wY zZ3$YG`TX1PI@EtRT$22EVJB1tLJLpy$In}Hfxp}FR&{FrtWLlQZc6e$wcFFfKlKGL z-;H%P(R_UVHF(WR8u$Q*}P5)ty z6#tu3`J?^=yUp3(hL%mDhJOc>ZTR0ob#%BMwDVu8m+F7(zf>>H>3{M+oLZX8-+1Tk zF@I^NiV9KwLw|Is{?8UEE!w}MWaxwbFJNE$|K1m1D;oDqt4mFbO3U@{!r6S*YGA>O zX5k&BDxp$P&BA+1QA1^PvnsRjo(YuWO|B#ceL=h*6$V)bj~|ATSfrCh5W;st90YAW zc&#$a9$813-|A0$sXzvhGWB2dc1r zy!R#B z4CoskNDA9e2KyMw)k9?Kp`qA!!!S&1cHI{mj^jBClQYa>1Sa&6LRX8c5jq=>FTR)@ zpFMOAhz@7yTr8{ua3}+_zln) zr>}FilT-WDM5jbSLZ^0-u8pmbM>;U+?ZC#RHXZ;O&n+Iid~qBos$b;X=j5;!sL$ z*+Y}Ce;H?raZYrv#L~HWa>R)TqKdgK;kc6y4JkV9OEr*Yt^sU)j3G3DRv3zaqo7eiuybzfwhwl6ex71V=A2*c;fnIyJ@P8%VLhc3ZB zX|*Fa4J~)JJ-pf=TdNJSwb~$CtKBdaXLl*Cdt#kS7ahSM7QyL}B2{P_ZiZ{EkQ+zQ zu-Q!!IfU`iz#!ZQwx65UtQdweJTXZ39?rpcO00p<#{$za`CUdW20B26Xb0W!;2mF# z8mb4;D;u`!x(@yx^2(3MO) zVp;Q3DUw7%*h;dCeFGCSxDJsc2whO%vWvjAAAROxc#3T!*8Or-ry)k!X^7EcYVa6i z4KZ;M#7kQ?ghX()>kgATLNi;_t6S5?*0c#}s28*+Hi4MxwPHMear9^A`ZhzEk0+|3 zSt$76VJFl@_*!H5J|LOyDJ33)tw9y85jXE_3K@FPZ08#C&K#Uc96rf}u0_!x@j4Wv zFjn-yXc*a&9-50N_SaasQZ6v!RkZ%<_ zPTNN02Y4*Q_bhN9-+&tlZr{rxddmVf&NLrJv4;liAygXn zT37U1_=SrHBLvi>D~=hSi7{3i!r~eT**re+8m~Bmbf%@zXTUS3(wsnXW--PYpE&Gc z{f>BGr?FwV>hrL8d>^Chbcl{k1sXnOC1V&Fy?NqeOc#}ZnCF3E|3AumNYQxTAxa2dW9Z&cjjH!9*RmdTQP zi}xv=W#gRDqq-n*NV>}5g>**umCiaadgo@&H%^ID2AZp{FdHj`5{T^PoI~;0cpuXf@fyDKis)Nu#ne_TmdSjJ?<>>8yQk|>f(lH4ze@=AP&X+>+?+(wqs^=gF&&c?_g zxQ~Z!rFHT(C)1|ESTWMtGpOTrE@8WPvfe4f+Bc}Nn+1W}us=I>C0mx2W%FiJqL)-b zgBdUp5@wkVshy%DhiwjPT28ENB2hFUhEyDkc((mJcaS@o;nne1xO?z~g&bcXF_2)i^@mje+!N7>~H*_W=e zYJCWY--yu$mSa$8?dH}7E5Zh;);j2{0Q${@ev>J$yA(Yz76+HKOmDMHPh6(^mibO_ zK#21v+1NDq1$!D+isvwm>Skf=g7h+)Ui;pTokaAihgN}Rxa?P#{jNOCP9-~Orbh0^ zv%~)5IC--rGl+FETJ=}AH1GX?JB-A-$hG9G>_6}0)TY$<;X!&Q4JUJ!Eq#K^tiWMp zG+h;WRRd$_%H>s)S6yE1^6HRRr@Xr8s_J$JJYX1_q2n7E!)dtao!uOKH6`Qdh{*XQ z{iXQ?R-e&j<}{N`k3FC&O>kV{A>8Uvit-}d)6FT2(h*)l)vBIKnJ@=X!)%@Ojl2>F%>`PK;e zwuru#N60Ho8*~1zn`eC5&0w+8YNg>ye6#@7?GX*EikQ&qhz{?FknfC;*F@Og6(O%h z`8*-t9bv!DlzDD4(0hq(U4J{6*FTJP?!-Dg&DB}sX%h=G>%Yg67==ww zb5X2Fn@E?y8hipJV}++xjY^w1y7>uCArdd616R>21bxw$_&oU-r)-ZUI+<=lMI)l# z*{SG>BS|CUJ3cRV!14J{o;-QYSQpo8wM1Usc4A_knmF?Ox>_9qsLB%qb8OaoZhU_e zz&MP48n2j>R~oVFXw|WJvWG#cYJ?gwJ}=inalTh~82a5fK(A(Kjqu#f@eK-yC!vz) ze2Q~gkw*p935<*mX%^J&buMY=>lAIkAuij?q0P?s#s?=TiK5%Zlaof(ks|`Laipb+ zsTUm2C-97o&(*NL&5xt|$Y1nIRM^^Se9;c-HaAVt9W)Zb9T5W!Tx-6mFgxk|EcEvz zrvorv6g_es)Kk_$g>_IP*MY;cGQ)G*sXpa-?)sa7)!&7xyM&uJS`Bq}D1ljccR|#C z+|m}hg$?W}T?t$xo*KnCt%Zs9#U#MenELba6B-l^?M8HhSfC3Go{$eo;*>((jHRtq zYV!$ximD0yl|9HoNA``vH5-LbA{-TL-EG8Xa7-&2ueL6weNm(3cBuacxa0IPaks3+ zyCq^rwjOos-eH18rKb{Z^nkSh?Ba(#E zSR|37h~?vIgJxCXm(11{f9jE(c@xsA#QVM7zk@EY4qt|B;NmQ9XAT=&WR12WZDKUjf{8s4^T4AuwB;lV)-%*HpUD6sga()<>JX^Rx6Ge+Bp?FYFVg z>1iuld02=}>>e9k?Rkcxx6tdBzk^K)Bv5Ae&xXY)uf{iK{S5I@Bpyxakpy22;m5SN zP2hOWY&P+41IYh~;F1462ECrvrspBJmi&Y{*`tK&&;yQ^^Q^8vqym)^tm14r-zs>4 z3dA76F}QC&QeVT)di>;Z>ff> z9(!mMRkpWGu+%+Nk0W$GsU0mBSn5pG;|yI$YNyb^V|8dEHd$;M!76Mv&oIFrkO>3# z;G58U8GUn$hbCinOGdRXat~_i>tE^ z!Y=H&TJc0D>)Yw-fw+GOUY+JOFbytwMtz0Kru*p8qu~a8&hU9%K5tacNRPva3QPq} zZk6JRmW{XXxXdRXSV-~YLn9KOqr3_$-3k3Olg=*SpYtO9BRyjGpZNa7_eI>1n4eky zPDJB&+8WTdBeLng;6P!a`Mma=GI%Z)x40uWPZqe)2@cZP&qCp>hwn0shLxbpR-1QVnB>hnIexgT&w2?%;RDS4?B32`z3}sKLz(q5 z7Ci_>oQC4!vGlAKs|9WX8U;_$*i8w?Z#qghap@**&X+szbmjj61HoJP?Msi|G}sIx zNQQ9vSb$_`BpGI!!F|^_gaT?KRt>bEUtqGnvN_Nq+*m6yXo-({ugK{Mio}sCz0pRr zP+bnf4pALjDY_8&&Tw-@XB*K_AL>w>1>15ev4y&o-WVgMRmEK3krh*n7^+B~S1`ME za+>4VB846wvbLl_(DO)@Dobj{ebq>0`(mWy&ba3elBqRGUj zQQ;kx*fiQChQ~;NcCbGq$w+J*C4@G0Afr*kePFZ>KlwKjV15Zk!W21=X=SA_4%69X zkHEnSUtZK&dwxo+KCSHA<0nsw`^mv>#m}AKeu{S~K6w|5&}&c5Pp^L9w0&#GGP$E^2rT zU%UG8TX+paDQD;nH)CK_>~u72xZj3fvast7bJ1P#UhbshSK>;CP6s+2zni@fZx%QQ z*2C>I9g^ur{3O$;-^Z=2NpI&wRS0!v-N4_lB0R#@pTvqzQPIg~J&vQw=_o5WS7y`O zGx{XV8!c;d-H2X1Idl<-!-ZiRt6>lKXo-OvL8Rq}tjcpkK5tCU1V}_NE4{H0nO2dL zs%0O7n+*WPw<`598k-*2gkM1LfX;9@4c(y*3oHeb9D_6vxKJ5bjJ0CmK7)X3;G^rU zhHLkSt@lGb><5T5S|h%z>wYcVQ&RTh?^N<<$e{?GIh5AQPy?uvN7D;kZybbAdXsBJ zdEGv*krOoBhOyG?F+3Pqpw#ftxBf)fxn*24eFe~fQ5x`{8%FuM5fx66MwIyOp@XHv z{^&x_^zv?JbhqoL-tGDs?)H+i@wXa~Lq|uP46L(*9zHwBFvc39R?S%IXvBh9FLL>{(C%yTwOwcml+|}JSFAg}Pr<{6I03ojHA-Hi z_U`I8nsMvXv0E&k#n>6g}Z)=HW9> zbgUkF3isq@yffT686J1wX%t~gI3NT5)GA{(|H?7l2L8_E&pq5He7?w^d&uvKerD_B zQRw>#_}q+-OI^d~P#Smpl8&^jr<~cTEJlW1IBVJItc4FoJwL!lq{Fnfw0q!i11HX= zvDTRi$T%eO^X-C{}|*y9f~;mnX^-9aunHQY?ML2DFaB4}N0kOe=#m3};+8T8me+ zikW{?;qFvq{>8=S5sN)VomRF3R$6{mfk)-M1}a6=zK9?pXdsIl@quX_4$eqj;KN= zf3y#Oj^4lmzmuxF6?&D-J0BLGGpd|EDwE$8ZDaZ{EkCr4zMSMMbYYFq^Jt`) z@0j0#)$c~%JEjK*UsTEU6j69&V6#>c&d=6u3J>8F*)%-Tr{tFz4u25VD<2Nl{u~gB zxVib6;&N{L|n9|4O!#AC$=T=2oE6tQ%FPIwzih{C;p?K|Ba5x-?B{@+)($ z05J>2Y7p{JsLh!G(Xi?6uq$j$>rA3)gA(g%;S{#c+zdIrAcS+$$`qOtgcGyYN|VG} zTR5zAYdIi@;YRG1AU-R<36H+rt(XES1s94=3LxXs(9<@^xMuXoE!2tmY4x9J;j@6y z(hDh>!PG|FLHIKY+%LI#^@bi!fTGZR;UG*R(;xJLTMl2X<4+y}EAaf`D~NLV3hYi_ z0X|43df~|sfArvko6ipS;GzSVvGBXyieu5IDDOg9U-T}@uc7Q*gxR3^b&TfRSBgKm zROs8_KBZC24Y#w>NEI8YN+TLKJd7KvWH3Gci@QobBt~=Vwu<3$yYcYt1xHQV3k4ZQ zY)a4H@stxwr=0vAvZUv)xC_4#CAeF9UMXbUEvE_^sb5$HizN3% zl6xb`eO8D7vfc~`=7_}F8XTYSxmaNXgr@JIo43HV2Yt_%Vx0A|8_)9h>yc0HLn3Zn2z&HuTxB?%%C2|*9O7gY{T=}S z^Y1A8`W64bbdHUvb5|pXOjOJEParfKPr^JC&fFl;c;kgHom58cmk!DdH8#3 zgW=jc^7Dyz%#nlqt|ePuS+oy>*?VHt9;Fc_yV|f0_oDcocek(c`zBa5_=wf&-iTJ; zkB~pG`~-E-2(PFNu2j@!`mG3W#-D~LS~LDCM2Y3i`{=4Q?H5d_u;H@Rd_D zzDKjZpv#*-r4-VPA0Y)VQs|>3@Hc8l@jCPLir*@x60V6a$_58XBRW3PmwAFGWScOI zgJM+p6CA}SV*eL%WM7K@4pC9_S7H`lbMZNu&Wd3Rmxgm5Z^V!ytc9$Ol$9DW@=#4W z8E}dft&))Yn`8(XvH(58}_hO$P5%VkVL zqaTIQPr~SDY4nS{asEkHz4@5DSH$lG%Q0@wz()%gr%RMhpDNf1i18JrYCj|e#$Q7OQ3-Y@ZbnDy=H5!`= zm~<6mnX?$13)h07Adi?)KY7~4_<1kegpWve(49SkZF*h&{guoCXAi7|>r23wCjsv> z6@L&ZzEcLf_}u5#_I6_G{LNN`KW@X`FNS|#i!K=?2DXul%=#kcY=u7S#Lx4vnErkZ zj@2u(F4j+!SM#4LZ5iuRAZF)cSsgc*>FjF4V}!Q^J}dRIy=D0O>6INFU3K<2;r)RX zP}+^;X9I|@cWfxs**wy(Y>)Uh$;VSspIZEN2c7k*LixUet>v+7&X81yt_yqE2FJ3+ zUGqS`muu}}*_|NAvMHpw%!ZnoMW~r*^S28zM=AcIvZhBWXkvR{3mpqTHDcKe(p=LE z(VKzj>wvhh5b^fjXt^Szp)i*99Yi)m5QAiYNqfZeyCOCc9w(cYzKGKc5VI?AJfEk1 z-658(Bl#Q{o6bge!WnIDkN8a?;w9vVTJp@BT|b5An1iHQQIlFZnk9E->_?h~&ieLB zt<>2y)Xvnv=CW8eAst)(wKwX&?uxZ4JFNhHZ900OKlNK$ih4&r&ZSEQ>L-!DPbT(N zpO5%%0b*hhEkEdqs0=~-KI!O(*HqNZ=!WZjZ`{HM;uBxrUT+G(tA7L9@t&{DSkJC<aW+!FWonwb)2 zT#IBI2MU%<%v&QE{wB@MTq!eC`T<)&%-;(cXD319W<7ccrr3~8kW91T9|$@pPcR3S zaVm2`szx@6T8U#>Hf(brF%SKTA~#!2%*#64@NY82w_lu(cUC2_x3UH6PwY#-U;~J~ zm?_vm8@>b`2KD*@tD!bO?SC<}*@g|ZIiT#us*6+JVQtwZ#9RznJNy|I*e;H_IOToT zL9(6c$nqo`-vL=?$!am}K199e(KR#DkN$sELnO16IxvRYu+dt40mK3V1Swu(xSs=S#Mf$|g$oWeKurlHJt~*%gwd)BLWH?B|}yu9a**)w@Bm zi%XF$v59eh9gX9>O|p>&vK5kTra7#X>;fmU)soc`yF;?|WVuGNLp_nLll={){_d4! z$9iGeBa(eJIFfDbk8Go4Bf21aTC&-t$hJzRq$1lU*{(ul&zo~-hwK%}`Vo6ovUS*ll{n;B3OvZxMXE%$TZ2SXjL4Nb?A;PO0r8jBa4-6AeF^Q=A<^=lAWkVW=NJv z@=Wi6u$)vw|#HvT~gwgJiR4-BTnx*FkYYvbR)Z zX_Aejdg+oapn92-T|o7+C3_G8Fc5E z^{CA+B>Rx!=Xa7Vqk2bWyiUE!hfU zWs)6i#eOGNA=wDp$$cbylFIr?HiOElC5xju43X?rvaFSCGFjHiajv6rj*(?fDw`mg zhuB4uMNuo4Nw&TcS+itSWVuMT+1Z0_-YUz^qk1bOJD)7?l&m+gyCo|kcE4l+VvkD3 zh&?WuM$!8z$x^6nt7P9&oOnU92WgxyOIA#G|2vX}Xk-T@`-1kw=aRiZWnW2lQGv;D ze!IzMhh^Cb%2mHgmPhsAkyPBN#B7p1Ow1`+PhuX)-lyIZOh#pGB>Rq-pNrnr1nfOq zmbImo&XsIeH)Nfp98_Ww*HKOeD*E)I+%}>qjS#O3A#`U$wOSm9oWP z$vR{r8!jye_M!8VENf4hxlXb#i;<0zmYt}FF|uqUd2p;O+eY4!v4G4fy+c<$)Oe&-u)F&GDjFb1a!U{S!Hs6uuEmNFHpE?h zw`w+)pRo|0He6|2wRAQhvo8As}*lT92!3v|cY6iPA z3Tu7etC>pYK)>q-E&!aDk9eSG3u&iVp<3vK7jzQul9>^ZaVBYc}77HWu}McroEyq<77XdYA$zt<2G9k*Mh zcK4m2dCi6RJYjnS@njrgVq3&aj=0^27#nq`Rrl@ayFoK59`SA;;tf%V6>SMgUr0D6 z0kIxz%(}gO_krew=RQlbFXlned`0*(VQeg-4bZBkJPMjeG{gdi_>=untMnr8O!b;Jh!UYmqsDZCb^FALc(dJuOb{yIErv0;jp%dmn0w#Ap2-9;$?)pJc#cS z=90!om`?Z$=|3U-hVUHH7Za8dR@o3wGDIiIT?oB|sf2wJ5sy*tD#-KRd`Y-Z)FphAFrDV>BupT@oa&xOIGJ!TwNpe`PWUFZ_B7$k zgz<#OsRakg%c%V(!uf<>&^TWw`~cA0$A&m8!r*@|5h@TKHwwUZwgmB;YQ**+oA#Z%zXO_5!VilPyY)sKkb*c%MQkCgPkqO#)#CX8 zG|vH|WX&#ol_EY>iFh|@ZYSJSj5xdoada-?IiNRtIo$s+ zXnrn1oYf8S-GPWhst{iud>BqCtBdyoZp%UZy=0-yL|b=6JK_A?1+gYNA~dI4?&yH} zOH0N07eFs}bU2E8ARTdqig;co;uAH9rKyO0tBzv(RQDCaJ}E7L?(80#%0^b>*b;^! z_D{po&8dhRvj4qhWa-n?vXD==7p0<>D1DAJ*L1+M+|E?Qv&sJM8q|x@M+xu!mzK}g zpl3v1>)YXYc0|lkpy>UB^zcYdc3TiJFOn%cuDva z%6YccpAl}~!_X#D6FCb}w>*D|CC}}<#F}YwX-mX> zf2SRSBYckSrykL!DHrW;t_k~RUOswqdsoDy?x=YtAMMu^wvfEQ(yuARy1^pUf7j_G z;UXL2ev%iGyntjS4p9Sqi6P!%J5~O!lY=mdF!q#EHmWIbyxRda>4N)P>A4zkN@CdbVfH1~|*p6&^5soArL|8yQmJv1>h;vDQ6X913@k|v(_an?9o3*isuaf*vvRNLD*j7O_2pxpy5gziAjgLG- z7)uxvhgeTGTWRi_2)7e{K)9RmM16Hsn@_MdQoL9xPN7&S?rtr#xVyW%yOu&*w8fp` z5`u*gAV`Y4ySqbhmoLBj-E;0AbMnm0GrP0dllPoAyE|)9CoFaTxnmpaC;N9Mdl`8u zciLe`l6A_dLG=!NELX2YRZNVDisPc%U}iRZ6VjxWuRw62KYvol8*}k>)P<4l%w zqm!eHa`~rYA)zUTVoLCM@6dajYZ|R|)MCwOf;{rrIo>cKQQ|X;j>uwRHDB_t%aFa1 z<7~o^omRREB&Ro<1i|PQ9&8r0{W)?WquK`R*1OZOv#^_SWmFGdZ7lD0DzjY!12 zwf=a_(sj+6Z@`){yXCrB4eGvf*m(rbqfp0ZcO`6iQ?CIGN= zPo|BBWrFr!Ut0iVXV0I1HU$&@*rgwFr(a3d{~Cze3*w_(3<3#m?0)CB|4H*F=(`(= zeLOy_sp#q*)$D!t>DN4tzy1P5vgxMZg(OKWLy9oy_)8x&=YHH6@e+VD7(Kew5%aPxmy0=}|L4@hfjv2J=h}3r`}!sKp}L3Mo>S#r-fic# z>A!hcEdHTr4r=bwZy&r|y@g2-QchjNs}jY&9n+;~k;4tt#;C>dINu`3%n7oeM`$&7~eKSmr_; zigf1HT0^=UH16T?Ip!+XM|yEQ{g(oPD`QJF!C9nG7eteQhQ7)9z%E+-r)tv9fLPb( zzdu?&saoMf3PB?4+|7baS2AMl5VDtVy!YnRz}rFLb$!)>i9%++>d!yN33CZqMSaxf z>e5I0N4dKg8{9YxW-!lt!eZUsf&6r$ulpJaE@jKAWuwPC7x#o+zF;pXF$4klmTZc4 zl+&8 z_UPEAOM1a8t-KdwR zb^0koC6^hnJ3V8+9{t^MLka(9${SDj`+aJ1HnG@r5wGy+=hkV@v)4&cb~Jo~D#fbi zL#=0xem*Kh8Kk4?zBZglgVOgX18W;0|EA~1X~lYbH%KPq87oa*r{a{YLhVg)4`Ob) z*X<~#)fV!a-p=FQV8MsR->J0~9)~zyxdO2t+UeG9E(Qi6ki6lDCD`=;x&DIqAH3w;3D~d7@T_t#S#n^w9 z3X8044)V{A^QNi6cC+FSd9zFQt?|1=3bg#)MhnN>2sC)sU{~Z1YZ}^YFK*sb3g|~_ zze-2dh?Q$1#{I-%#f6=Zu9RrTkZfl8^x$UnoVYW@;p>p_+UMVbB;sVY4FXv;k=LLf z8?k9S4_bHVHFqJfq%cc#CuAeND5i|80aK(POQc+Zv@}UhwFe&|F0}!n$%`(v8tudP zp}j$0Ssh#(JC8t4%8#ob2_Gtc#I*vn@x;6Ij_$J=eAA!C*q5F4oR-7He7|+~T)ln?{n1vy4kzq)anZh(V{OPt zYwkSKE2eyT1F{-Lb6h%RPu2HJ6*a5H|K@%2x7%kcdv~OE?%OqKv#9>iv|}c8&LZ*| z-Ip}R*pO>*dC)=@ROOqdU+Md!y@{1=hWAG2ChU}|d3C+2VQw;l+AYtzw%Q@rD*^if zWCM5zin%(tEC{UZUhrBt$Th1S1o$*_*341wQr~owJTUuK2iA2zXI#`iyomw7Uf9f~ zxYi#qx#5d37TaRG@rpSfd>Arz<+eT3xrse3V{P{^rOpj(FFeU0@w|DNUUsVOeDZ1D zHE^=S65KI7qA+78q13ILZtb!NedW`fW>6V?`t^q0T(#&c

LgVjmD0gIbUN;5IrT6OKtxHR?#9--mZWs6noS#nV}AK5(d6A0Tirr-0s z7~GL`s}|c@)=8%$)I?j#^n|QC-DAmnDpQ6Pz*#s(u zMm@{B(Qgiqu_DDWp?_B_KG(D?Sy*>_pRls08Vf8p4p^*iUtRMV9MvU;4rF+I9h90-@2PyR_Fd&gJqyqD!p_}X@dii6z@8W2uJd9*|3cBxO^YK=5zY+g$aXZafw8Nt z#@uAyk$Z?0Zut6Q;0H-(OWmkNx~@b6*-nZodzAmSVvMqWr&VDnvOc0AQ$&m9^@vO=YM9EGg0EYiSCIS@w2TBm29>K{DLx3$r zXDV$7@b*8D{~!2|BZ%m0-x|@EHKLozUPK=E`UrCh!v7jEtJ&)aGj9jN++%>q#R|c0 z8bD|}|D|qp_1j2tNO;x|k(5gff_&#d@l2CfW2hg@ndTe5AY13kE56cRF8#|~qOO+Y zYDr0*vse~U7BR=EmJhz6ld3p1Xf+Kp>#n%q>`0JKkFnU@komXiga+z#} z09@s+gW!M`z*L0Jyc68vG1T?POI5_5;hUBG9rUiU8z0l7R!w6{0{TFW*6F~s`!}`1 zl?@&wP($GH$JzX42l(4TvR%tZNi(6lnYWOsVH9K=FeSp+IgX_os9C#(wUo|>U`T`1w)UOs92v*8rC2y0x({7dL3GzM5 zYL=-hxW?EF)rH7K!8zgqqA?x5BQ$)zLb5$hA=yu5ZN2-vjr=7dDj<4XOD#KV~oS3s%j-6fz zHN&}xLITv!QD&y8rX1;fjM;@U8se~pmtGPa**Q3WOQ`;H^rwZL?N8p3c~$4$_b<7N zn#t^C6nVe9WQhz1sHyzar6@!GeDrJ)v?5X5p))a+y;0|BuPp87keAy5Sg}^uJIdMh zLi8({Y2#KW6zeCFL&L1k_**+#ZO=AV%u|PB6qN-e^TkOy3%}@xL6U#{0S~ru=hLrh zl29xD4z;MY#`-J)HPVY8G0pfr2xld=6rOT1mO@@-NVg1HN5#tVU&XfaoWpT@X4|l2 z$VyLes_5o3isA!TOUT;7#uyq!$ZoWH= zpkw*iH|3`>@?xP6#)fRJmMCd{4 zm30VBh6DL~n+9fKreaw=`?tc@IMD1+zlNHY$=VTLVM(i6j3C|9WY1TFayNdq=L4Q! zLakFMgLN-H<(Sdn`OVBOIoKNaddg-xrNKq0gL6;4T?Y2PAKr=dx2%m)-hSxkI208z zr`8=MJ-T-(B-**~>&HVeggK7lSC30QkKL_n>-X^oF#1PqZiHVQxr*61H6FRPK-nIc zxlL5jxSaZ^`L308&0TArN3{`Iy4TRIP}Mp zD}-^?b^2k%SM(-pC2PvSMKarrcW))Fnt~q9=d+%^8J#Q7878!2NA&y)lGHJN$q_4h>9B}2=qHDPhyDD&QgVp z@|h8row8Pp=;c}|m?jy{jyafsPS`&Dd6+-=6yDSIS!w;K06Da3c5cl?D3|GCeCIEX z^QBXL#vFz-wfyHSV&+?2wOsd&yx#daCZ`OMSL~`@Qp)y$Q$GoP%0K&mAyCA4RhuKh zKc`}Y+W>NYzpyove$8^#QJyAQy*RgA>1cZu(P8Q5N?_2YTF8DBmb(4bPPhh>ef2Ob z6fM|Ff9@IIp~(ViAz_&NO5j>vBK5>2p_sE?kiXFQthRVXnRU5 z`DQC>wyaIi;S0{6VpYgje@nw;Z-={Wv1HxdAB)*?j^9^yfGxrInLD^LPY*@CO`e%h z8P8e!6CdFl$*jn+RXKLCoXC6dNoXl)VdPAo?n=Dgy)x3(JA1J*^+pN$G9%;r}3-yZw^5f4zMhv&G!t(b3TZ_`T!pCcK$HP<_nPv%gr2j^!b<~ryc zkPjEEO&N#C7rsepW4b;IcX-zapR%udn}iN4{;l6d2h-UwTwBpNcp7m>=vf^` zX8Ph77Iw_&6g;ZXMtr=HM!R0|t(p47T!}Un+{78*I}u^6lUGyxlg02pOVreSU!ROv z)Fx7w$XV;!Bp&5BC^OT6A+t}SIWYbSX$R`j%=PKUfurR*Q4l`jA~gx^n&c z-%QA!mxH6A&rWm56rGSe5lX{o(TnxB zOBsWjZnn?Mv3J?6Vwj6T z!2}IWkOUNZ=Doi#xq;}nWb(v+V_Fx(?+W!mG%o`S`+y4{`NrU}u#muCr|8$-Vm}4) zw6G|T992_(hU?wSJk+q+v{n&p!=Y=>rmEvtP@}2(LQGRrig3HCh1Atg)j@w-meD8OXHC5661nyrNb2n(^w-$|=XxMSCV@sg3Qg$1_ zlE$5!PN#gDi_Jyn?dMcN7BUw9HFN0Sq$Ro;5AnEFA+b~Xokc6#rk zyT8W$OeMXzf*oTnMWNpyi77|Ppd?mFS%qdH(j?c zw_SbDdD&$1rb66xlEU0|lPa-CFDt*?k^KG0{Yx^pP{qgVQrR%BUJgqYKB%M|)oU_7 zq?IaMn~G@Hy-buRKK1{fj3eM6!k_d%vJtBJ@)G{PDh?t`qLd4J6W=-L`nAEBsn3MMfOf7+S~YJ36}VPfRFwIZ(8m$|5AtY zwz)r=bsj|>X=cj)_u$T8Ed6>mtMSa=uF*AwD?$s3`Ar{ZjJoDJ%4$T>EfNGLGp+k)C}|AcbskH;pI zFP4>VoTRu5eMe$fgn0vYhxT%K5z0`&E}I*>IRDzhI;FRa>y)aqr_OyIgn6f+2Jv6l zo2MRqFGd57kFtuCceGh_LG?lp<9LLsd??Fa?W2YIqeX~oBHu5J7Phwj5;OXA#-Kqh z50%R%|1RPGTPm|XUhi--nyXERaHg6=V%p^B*mJ+-scVhPM2acTvmez$>#Mj@9J4Dt zy14O0cv!_USfc|NNqBP9W**1co1N3)QUI=^yE~zZMGCF&?DN;TsWFLdiEcSlQ_&0M z-7e{zl9IU6_&Vw+IEi&Jet9Zn>MZN{mYc%RxVL+kn2}P_ZMz5tU6eCK!F!`^w-O&#UtmlFEsN8epl)dn^e3=y?0u|@fQ!s>F-D;G<&}LtY5!~M2jBkN6WqZ)vNt^ za;R-@)1_l@ye?=jd#oxbyAnXsajw2#zk<9Y9@9=)K*ZmwO;GrRah#2D(QU998xlQ7 zNw=VM0<+`fcI0Gdm3e}emzjQM+I8{D6c?m?qLMBxF}^Iy;NjDl$)FtAG?z5OJ9ELa z+RQk0McdjuTwlfBv2LBCy=HyDeikMVX|v;c+>xbBoJ2ORBp4fRCelIrP!rC8k641v zJYz6LPan!{FkjwvF7r>a%KFwAwh(JWih;^ShgbmaB3c=3`v@P^NY^pwt(!aeoRqHF z)Uu~>{UJ~fh%qRATxAyJQE5ZMS_CH%A6`ga?(_KftfHfIeP*ROG**Ipm0rbGFWE1` z5~FGR*-;bJfOOKggyJ1cyof~O^n!g@MaBq4%6oT?KIf{rYEFzDf>9vF41W;@pYpG( zUyCiyJ~RBS{M@!Z<4aU^n-_O(+TOVNJm{-M7q$*vzo~>Bmp@{riEW=fwrSm9$nsF8 z*)PfK+>4y9p$O;oy+WcSL9WdSs*aZk)sIp;y51tKyi$X zhBzvBl4Cm0dR(Qx`;jPWNE5CblmS6@>1&j3#R)nOyHEE3Y%;?({YOz;R6-SkGY=&2 zZ}ScEg#dVEqD7Tj-DiU3m%-al|D1(WQ_tSjld$tuU~ead8-D81PA}Bj5xfu{sGc^w zduWh8UU^jnUz>L`*+1wd&kK*j6&})6UnZ%ACI?Fg*b%$UUe4(Ju^|RGM7L@aPEdcl zGpTm|cDI5jcT;&l)}o!&e~mj|v5uMK++NpvZi?iOQLmQoG%$}vmi7|W5UJyjbJzQC zhAUzD-%RZn*cBVvDQzlVV>lRNNvYUS4ivYI)YgTK<3Ns?|*wd~|` zo#dD6ANu&Pys{bY3h!(OZpxVrfy(U~bD$mNjK^Y)P7ClgS9cWnQJ|9ey>QwV3T16`_{9qcV*e1RNowMBQ&*P>Sw?wSyNPKc-eHdRH_DVOhy&VOc5NVTQ?B$Png1WK#_tR2SVDloO2;)Fq(UtJ{Wi zvNe-!d00ZSEs~^q12VOi3A$L((JQga7G%FK{*(yEP+kiM1eaLbDi!K$GrPh|*U$yRIwB6AQ5~oZ?F0_iTA%;4Hw8RII29 zWf=X61Eze?8kRMUfeb05M1qv7BDEDgzjK4$Q>}4aF~XJ)@L-VXS>&4vSLBeQ6ST)K z%NTxYPj63u-!rb6UvaGwUVU6sJ>U%Momxds=-doLeMyK!681$F@uM>1OTh5D5C}UH zBj);Li&Aom^fzx8+2(8{40#2YEA0k_ZH+jryG7Crs~Y{N`v-FB1qhk-?jwvvf}|!& z^%YeQ6Y9*leVBI(vfJx+Y&R-b^z6QBwCt{3WR-39u*o|O82O_P3~+lKrW}O3<`jaz zX7r4-7WDkl3}^LK<9A8i##mQ0qY=|rM%@t9s`YB*s?9*8*^3(_nhhFcmo*F|!81-I zK_Zv+RV0^9StQd9NmQ5JcI1-{CS+evYP9EF62nlikMj9B(6c3hr5vNq;Pk3uJ=iUeW zykGbf>|D^+payi-I%KQ>=Qtb}7(mNs7PSuP>mI+e;U{j>)`=-0N;;e~)rrX*^S(Q7 z%5{N&?4CwGih3S8B5z&=B5BHPGAWbTqud9;jGjKjP@V{37Ej!;H^D?^oKMV`Me*V~ z`=J<3GQCbbO1*tL07;BYk*DI1eJ=NSF#h|)utPbJNhr=KZ7}B=dN9q}ha8^2Pnu=m zmH65X+K06Ft~HzKOv3IYnmIo{^CGs@nMV2)DAxJDtJwNynq{D17ni)}U39&7N^B=;Qbn)>LJb#C?MzRYJTg+yo(CI2i zcJXaS@)h1h@)g}gUiE1}UOH4ld+f`=y8XqA~-uvd@?zzRG#QMacc|kv*^gutLerPH|E@`Adda42-fsBU3kY~YRO;!G3 zXjLRIi&+iWn_1vXX=`G6^$844r=mSKf6w4$BqAO;8 z=1pw<_ddZ!LcVi^=3>}RHzsGmWO5-+UO6JG$en^n&VngFJR+&5l;H1gqS8ntW?JU( z9&u$&(!?mf{B6OLi|x%o0pZF=a5wenCONiZVT%(9~aS! z|C-ceT3F1PDH_SfD6-<&Zum`4D3PD(<0R~1lM@MWHi`_{Y{#hVeLV>6XSAdp;vOE%!sY^?H1N8gb^n#(P!> zGyT<0al3vy4BOqPMtznE!oID&wO?b}bVUmJ5JGwy=|^%qf14F<`g1qjG&(ITluQ!i z(c$qJM!HG7me&Od=j^70Nyhkwt;U)nJ$pYQuR%8Pk=torpr80J3t?kpM6kWFB$)a7 zk0`tFO=&7?B7_J=?~shQsPOR?WDpO(8+%w0vrwQ2k^acDw=)PH+Dwq`UNlmt~w@A6M7ijgf5I&xt0K>~mY{^Y+k@(mo z$=k(!%PL)mO0!WG>aqtW+oVb2ll;YJd4Tpkp?s81Y=WlbIegtzsx7dS21SDB(R{72 zlLk#f;_(oJOXWx2me9K$yQdWM_!)eB&w2^Lq49gl&aXw+wd=ct=SiLISdT-ec|Csy zPfPznF&ax-{lbJL+{{oKeb)j`zT+b{Q*-`1U(Ndq_oVMyB{NS?h~pY!l3jWAIMfFX z=ZtMhu%^BX;wx$6I>*|2C?-tZ#h2B~t&Xn|6aCj zP=**r3-_JR8hbzXZs*qMx3t7O>At|Ec8nJMT6Ar}I}BJ%f9UJsP5F|$FNyYToXjBK zM8I5HqEYuVSHJcVK)wobCF$_@dr)nt=UO90hx~4%NLgyNcvY3=4U(&xC~UT(9aXIS z8Tl0VU^d+TihFJOz&Grx-NXU#z!4T59jgnI4c|(`ZPRWIc|`4yL^64&ijh7GTk~JT z{bnC$zOhZXQHthDM%=nqn$#7}jpeC!IZMDg8x3zfrQdkKHhh}9#rVJxvFa^;(QN9b zdTReq6}#nIH<-DHT6FGjPk;`5X9jz&5u%a147r+q zF1?=U&-~v5UElw?{g|uz3Xd^Flq>g^YRMHXif9#;=Cuk#RktT=Zuy$u#_Qa-eiWl` za<%(hJ1y7k*Y51xc+N)Gp9OMX$i$LwS;cC@rGF8M{Wx3V`x`}LqbpG{CI-If_TIz zM}Fvb(zk4Dp|X@qIVeS%hmv8`bax(v-M1*LwMZ1SeIqda`m>t$yGFvUOS4XS>t>g4 z>%Puf;ELay+g?F})kZO#mTQuYz>vLo$A`|)ZCqbuN%zdQ(E4m*aeq%1jK`5zoq1`e ztA_7OU=c!v_@@#QT$tJTU&3rrx!YL7-eG8SxFOx{z%WlwKD}vtD}-r;M}Xq3DJj!l^boEk^K-vue_p;fL;T_Im}X?zOie7mse>&;Cp zAijbJAIS2D?;fxBZl{sqrniFu-Y?fS!(K|yPLT=wp~qOP_X&FmX=dy%SfjHkkLc;$ zcUMv@yxvm7oI9F~jXutY*F+WdAs)>&iOTFFiFvv1egV$GjIA!Oy1XO&D!f9uZlPBgF=ey6AdIhJKjzdNu-&I<@0R2 z_&2hX_Ajoj#Nqh#;NEPua`dJmd1(gCF$%@a%SVrR2wK{zNbxZ<(WX&O*lDxd7+3R;^44*SjuAULcGEFm z3PeM36IB2O`u0%E6hLM*cyQTS8D1{zRJBr(?b~sk88rg_Q&1AKjr(JQ$4NQnN=KJh z%O0p@@-@0Xhn|EqKc&x_p=$svo`Y=biVD z1%UKD8Z2DY_cR>HU-G0?$>lZQ0`&SyJj=hz<40)j=J!7a>>GV9ZRI(RFSYj-Qx4p; zU!YW-Y&+v~?wPC?%q_X{n*cW8m44_fU7Bx2lo)tL;Ru?kCoxR%2nH^dyBEm^L7lZ7 zwwqt+F$+T2`1lqbHJ7v?i~1~rzT<~oqGlzjCJJVt@=0Qht9i6J`_7@W)u5AN+GU|3BDTP=T^rm)VTS*X7p&sFp4qS{H1 z?CgH^v9g*Jy6pl?Jn$NTHrW7KEdf6L&7J{1GgIz5&icz&(-V)CEIy*(otdE0>GZ{8 zgND6qlMHWB>zTtO{c1&fPM;aCON>cYWi4kKu$limj&F`(vW;W6vLd-KLX4(?me+#1SfAF z4C^B$0rO+OUMI=81zW&uDnYG6zhg*VV9(B7QggHkO3 zvIi%NWGQMwTbh%Nk@+|Mne+PVf-ozT@`Z3Sq{y51)a-X5l_fmQ8Mu~ zK6JA2Hd%;(6Z>su(k}QQcSj07!a2ik+8!00}pOr zAAQe+oM8@7?x``mO?9F#H#A*2%?q9UyU}F$gyYE8)T~t1gb8HWVV#4di3*^fZaU~# zXNHN`gi;^9$y`PLv<)9SP+%zSNB#g{k8QFm51 zSkTXDn^spG+2SHFtTe9sg(=5F)dVM`EmJj(>STc#t!P3Yv)hR_uEC8>vk{Wv zHjM+w{Z069F2#gp8Ci`DxRp9OfIhYQzI&qSt4#lBYevR{s5qo0-LQlv9!)W_1+)G_ z!<|+;?0MH-=o|^-KK{GWE%Q7Zzyj}=)~ znWX`~8E&t{r|(-QF51kZ4h@DL3f0CaC(+E8QaFT~iBBxwy>>Zcsq zR91(6a;x|wjnUV2jv`p_SMcP|u9>j=ADOAOjU$D>o4m$T(u~Rbi%C4o3(n+*iPfzO zEccDT-GYIfwxOv-WwXY4W(^d%Oi{f}jJif$Q~)$z($BjFa%;b&31_>USJxxT-eKGd90uGyDCi$1^aA*q;1NA2@215tvfXIBk@kM| zI#E*Hh$z+Dg>1mc*L`XMzE*;nT{ zCr{O9hom_GefEq+eRd&8gu%HnK{IyV){6C=!rHG9@>#!Y`4RQW3r`04r7gqFchHHe z%DZt- z3NVBIQu){=uSsL|waZ%`jECk(qF>d9RO1=K*();NRGMO=__oJ~sM&sjwgFHf_i#4}&4&H0n_`NQvZ{E>|MNo-sh;VJU6sO*DWLk{R%h8K}E4$%6B<7N4UlRHizls0_L|`y`aIf;S^s_<%NtehU>-2XqZ*d`AiZ&Fb(^ zRZedm4Lz?&%6b<>sfl+hr`f?HhRQ1h1IiYQ6=lOlAdVuOIQGl{z>@Q((O(CFuvvS> zZJ@zd{#U~!^MR_iG?I?|K)e<&?&=NNC#yl@k}02GVC}3U4D+e80wXY%Q;}Ecw?ZtD zj4qcQ%58xdW3OV37^<(pku=t2ol-Mz7L`FAcIdY#wq$^abt6#O{oEPQpR2z3s;xGW z0N}b${((Uoc)lG`aaPN^tukG~vRLQ!oAK!+VtBs|Q$1^N`@(Hu8#{-jE*#a+1kP_x zYMAWM&?^XMUbMTV5EiLpSBJ0#PM6r?T^q9|Wny1tiuYPN0xX?Vpugw1g#+j7n6)w& zfb&r`MdWTEGBE%g^kOQ*nmNa|N3A)BAt(%)?q`l2A$_WCE)+U33~e1qMvCXSxO6)%Fgn z45O%m7rk!l_Fc3vua`f)6oxwya!TtTRqF{7SSw>MgNQFmzhjpwn<&M+7M__@~<}bELp_t@Hslc+FM0{NAjfpK#%18lvCRMh4H~O6nx#5ZCq^heZO0e-Gd$G zU;#qUh|5$Ltk2~U79AnBLX!ho6F=2jpj=R!C}rQ$-`RZjm9pPL311Ri%oR1dO6Wt zDzs7_E~Sq8A4HWE$x8M3n@Jkf&&gx#YSB3jNFB+dJ|L4PW_m^uTmA+{mkEhG%$(%* zp2vWH8PY@EHdQ^h^lx!Q1QkyoWTN2IG0$OWgwQsdUQTdEdjZ1dI}V%*=nBlTg`H@> z=xvVZ>secpOFPNp%+cO6^z`Ya1Y~gj0f*kSH0sIi^*K}!*QH~2JM1fk)9F5;yy-g; z`o;ljkXElL)k7oX*mI}^`YN*+)9YF(yu~^;BDI(XMs2QM>p|%2W3*L&><&tri~k#m z7Xlx2SJ{Jnnk?M`+@^7C zzp^M0A@&>2eNnUQgI zjL~c_mEHnp8Xry;553Z<@P0aw0G&;x#07hP-*10fxDG+XGuN4n`emBITROr&N_YnEkJ@d@CyOKAi6_(Fk`B!kUo zK{>BMEh=LWgEV)fGR1;xc|itfa(EvU^SB`O`g0F?JM-M^M}q{ch2OXwhnbM47ND_s zODtZk5|MEDeOF0#bki>&+y(%4snA!3s4aX*&gwqLt6W)l;|pTP8|*iJBT4_~T>`->0Y-)Y=v7JpG+yruH&H_+RTElp3=}|W@2P0K-@~sy=P-LxI#IkSNoy) z3;n)ju)^xMBd+G95yyfya@4hH1IGf)rMy1|%h4$n=6OX1hC$uiBswnxcR@d7^~)Md z(n>s4LLl**$DA-G9B9KNwdfta#1vi~lE^Q_VlkJ(Cyc_1^8qv17? z#yreO%hfp};?|}DR6O9fvP%(7aRxVy9gqwda~bg4qFlaKo+FdO%3X{$ojmaT zHNAuabS#Bu{&aK>*?iZh(+1L}{PuNFq1$etvRd!wcc-SNC+Q?gjA@q{lz_1_Tn}u z8v&IyK7+zca1MiIk@N8AyBFxvaullc_xIq#_eA;tZ$u3V#F=`<;&=3aeFm}{nm9F< zFE-qCW@)4jM|N}vD?r*erW3`EA?o0Rng0FF>44zXueoIb0yEvs&tr8HD1(N$t+Q%k z0=@w}nXx^g`7rzgE#QZECutG6*Z4kA<4XnUwl3bO6=yR%eiVEKDleI>x}%Hrs5z#M z_uIv^lh z@&)9Fg%XaPot=3V!0e2$mngJFHL*e)szN)odpCFOZdzUV&q2Ns|A#pY+s%dkpA6+> zNSl0}1;2qPiC=G(nZAocx@ ze@(`oo;!Uk#pq@AIhMYu^8}SdUd<`~159+47afy}bkI@(almr;n<;0-ENv1X+ zj-42b-Em~0qBg`^xlzn54xOKLc#n7e9&cK>ma_jOi7l;3*4tF5-Dn)o_6-2#VocEj zxUQC+2b)-=qB%K3rayWIj2GrG13CtD#Jksa8RVeH#!B_}))Jq|iyb1~t`~E3KtA#! zDQQJHQEJvN$0l9!F+Ok%Vw+24LZ~K_)-z5&(a_UqzXlkkIxp*(b!N7{rUN-s* zm$o0u`_U&{rYIgHtvr_=)h0Lf!nyifs}TRH$c~HJEZv?fKIg>)ZNoalbXRWRKl$f900i7S0ne-@7e2IW-Y3XL-e|l_z29nfO(XD|(Xy;_uA? zlNxE5b)GQvuKZ(@-ida`oJRGFOk%$br*;Z{-Zm9>ikPaAx9t6U$1+^j8)qwJdL$N< z%4-4UjI`F25C{j~c%Y-ab`6&8GwpR*LFr2wcE?^c)v47E70%Hr&mDd;=-1zaNd*7d1xO8;w zUo0?o7M!Wf>l!xjRAwaZ_F^cgWh!IW*&*x=viUVHK(#W%DN{s(=RA`Q5V>CYrtPYj z(CGR9DEr1BO`0a!v2A%Pt=J65(=c8f791uTc0iW58x%?gs|Mo9BxlD=GH|~CE zeSNia+G@aLO>8e7K2U=^S)o_>QV$1VccKh46q~9Mm$P=b9AY+X2kj*f`YsRp_%0=? z_h>USW1v^Pz|T{Fw|05g`&(Bm zwADjhmyQeNd|5tKJw(sE>Z19*m2TQ{X+2p^p{2C;cLko!e$r-bF`I15{Z~uXn?Cj0 zJKg+GP2wu`AA$|8&eiv5BFpfihaS+Y-Gi>A#V6MjXYEMGSCg%BezBcs2>e{{DVm~7 zl_tE8>m{Wu8rEyt^MzDCYRvG@l|)V)?)Hh}t>v9`Pg0mID~J?ECXEvqECT-Pp=}f$K)2J8sX(DP2lG$8Ab={pAp|)~%jXk*W>J7l!K_shyY`?mY@C!`JO1 zjL+9fjlXi1e5uW~*s83|%e5+b*o!m-H#X(o0O-rw6W6%(wdWQR^*|T!8=J~&_x-=Z zMa6r{@DJ2IKux^O^)~RV)~eoPEcA~CIbV{&6qrfZRWP)!2TCs%xuS3`O^fbz)=OgK zKdV6qVKZ8hDN-Q5*>2c9H(e1BXatnHmBLnqit8UbK6<=h^b}zPJk9DaTdvo> zQ&%8rY5D8fbG&(Jq1j$>T8E}JbjqlCU?`hj={$K&b*d-N9G{M7+_k1paX2`4k9*F; zADrik_&G0>Eizw=*G}A(wBAB3^4)CntzJWdbHiHNZQyB5r5N(VCg-O7#<@|s?mT2# z&trwK_qO#tt6q_j73f;}bJPL9rZ==K`ChnsbYxb#srKL`QSzvkxD9#_pWZVyuEAQ^ z8HCD*AyrfB`KBzfWW$O%0&Ve|-1T_XRi?IF)}5>nKX)*&*H$eq+{XIoHss_oSu3^v^ST7Tt+TD676@=7Un*wG8=H zrzYF^cq(-muXppGoE*>A(^RMKBNZMH2+}Nxqa23*-<+uxEk5u>DdlLFc@c8IK%esr zN|&h-ExQWNZ>xc{dY%6qwuT}c*qb6f9P+3-9@VL3_=p?ZEI;Pb+$;C*#p(X8X4Fqy zstWr%IzG^G0>8HSa_?4YisqF?YHcmC-nueZIK`~8>)vC>WioqPC7RqKaw)UER6pzD z{xKTgGkdk5<5^zy^ghtGv9@HS)GPdC`3Lwh z_$NLBkEz_8dX_3j3oDbot&V-Sku~xOh55e)#czLmN%b-u;4ZtmO-`@_QDszZ4B_s$ zQJB>ZQFfEb_{DwLMZA8B*Wbo=^=Cb`sTPvVzdd!E%n`05NiR%yj(pVu+8%2Bg?fPT z_`>DQvQ(DgGeB3TCyq*EC$MyVlVv=n_t*AtyAFn9{;x~SbS<9cCfCLb8%OEGPbh^r zs0-bubMVUx&K{~iG(6+$dwf1S8hUHdRZXfre_v+58Q}j^t@1IH0MFv)SGg*&vD0L6 zM)Q{G{q9F?ei%`fkxOUNp0Wzc=6y6&7J?wsCTp^go_Lcl*IK5#Y><`nM+$ip>a3M6 zU7_co>74%9Ygc#0P0)+G`OsL`ie`?~`N zo@#BNI$^oA&<-lr?5&G!>7$)Qf5012DyoJzZ&h!;vqrN5Kf^{RG5?c5v|$mPy)?p-BMKrUwTbdX=_?3wFKnWuRW^(!V_d` z!BYj7k5fY7!e$DZozOwThEx`(7_$>HE&O>PeI!rx#B%QT$x$mW;tiJst`459lzkq; zP2SP;s=^U_0_K3@A)c#>{+g;r!~yP!vCaaep`-%E1Mew4pEKaE7Qz>{S%va~C4BM2 zjvU2gj+ERJs3&fvtS)8%c{f4%RC2hW$|2+XN4>R=;yXJ3^q}l_fISt=SmP+)CYHlkCMR_kXnBx$d+B zM#554cI_m48T80)*_s8WTwOV^#4(X@ImN1t*9B-xEvQ@zBGV{IhY48E%f9Y3lexdO zHLUe2R5Xs0gr%x1xYD>m3D?c!yxM4*e`!!pWu10eL1p(2jI3;FF_+Nw=vL~>S?Q>q zZ&tlBezh$A+V~>VVk)&gkW%P{#HmQovZ zZxOwa#$H($o+{VjR)*uRotZYQ#WnJArKg=|YgM~Y_Q$m5?dhCE9MN_i`a-jrdtoOk znZitEd_7sGPFBgNha7e%F4HjQuFTs;S&O07K8NY&TWML}-F26Jk*PFI6@yK6#TiVt z>Z6pl=4I+*9u|*splKnht!#0MJVby2Lp7!4q@qCgw`|&K9|aw&de9Gvi7Q2XP8yk- zjE!FF?!U5@Y)yP!N%Jd~9IjWk(kH&SmsH`4zxFp6_0ooabz8{Nj1@4+_&1Q-98H@LJlwwGBp zNB3r-?<@3sL)G^~=6 z@GPk~Sc3Gf5mN47CTH$2R|1(_GGafHXbxvVP;MNlz@N;E5+&(*<70Mp`*)Tv84inW z=SyLPW8$|EIy@;RRNae2%!@<@pO#)%K7Le4!eg-#|J`4pSI}L=fFcTszmLUk<2)1>xN3p#c$2ECeJn19OGJ?FkZ3|0*Pjh~GrCAbRN&7%1y* zps0}%NTN}sBpHT?1|Pb}0zY}TWV!+wUi2^)q__Z6elq5TAZly9dSvVkdw>4q={+=sg+++sY#?=P^`$8q>06)6R}wrszo-C7hZE&p+d}+ z@5#U5`1Bd%Krc^DkD%021ZbX_o-pVgX;KasCnWOlND5686Zx*#h&v*vksudK++KG& z=IVQdZ1SAc*2qmMIYUky9v)4M?lwVZ7l&KBsNDU%ZW#tGv=NKgABL{D zk(|3@xOG5~p*(U0ze;s41vAAQ33AGHA!ah7KLv#Vlm}<~3teR3Pq<0Z=L8X;H=`kA zjyYkOyPwMxB2HY~<@c#uJNYF*vy!hsv z64Z&C^8N<;xt#a4mN3)vp~cDk8kr&B{f4ymR-pN|z2Pg}4qu|2)Q>>$EX~MLCjKsa z3|Qy;RKfJSfvx{(e9-T8>H3(*^ndy-@IBud?~?CxbIk@xi&Pu3#P zu3_W*9mnx?Y`gQ8yS4LGDdF`){5gNa|JmFcm&1KqITY`||LXt!xzqVE0y`KQ{(X9} z^;_U|+}+-9rTXV;jiLARX;R?a@0Mrh=aW>QcCkpH$9-ac^ylgQ^F)up`)8EldrY75 z0(RxoF=E0bqW3r7(0nLm_$$r2$Y<EJtYUJgF!Yi$ees8646n zlVJP@cAG2~dci0q9|e`Xa!$!=*?)MIkGd)O*KDA*QrW50DE$Xn<^Rx?xBrAzU%p!S zA1qYB*hW7t83T8^!;JeW55wDuNOZ&|zH4Z9&KIeS~5B zC`?Md0*}D`f8}#235q;OhjFR4CGSXvqtO_YH%r@O9Mku8(Qb-7Fo)6p2d*e*v=hoQ zs{epN`5$^h_qG3PV2077Xwahnhc}vc5ddXg0jHQ_)IQp8%TuN0HK zV@3jz4k^hMxu6IP3Ir5u@+=XtY(zvRvQY@9VFaTrr=TQ~I8<>6S)l(AF&YsVG$@#x zt3?75g(#Gga10WlLL^2U>fgZ2%Kr^SDhk0Omd7H2Lq$MB2|*6xo_vH78UP{|#UcxV zMix#%A{~Mj2{9Z177k(*#v&(!HVz365eXRtYaZSF@5R7m#sA0n|Ftqexu-S2xd*j} z9&!QYKQ{fr5YkKX$+o8*@+19fA7YQ%Bl1eW=N)qMPnhu)cVHp}G{68zCI%) z9kGrK766a9E64%gFvub0R(hZsDmml=x}IWFur1L6b&oA18@d(A4!u*R3HE>UUQqde z=Zzc&4G9H30A-kxKo*1i|7n!`6KStGWCb}6IS$p1G>1qQxeOWr%@U##vJkQX{X2x^ zpVscSU>hh>A2ux#j3{Vv;8>q-U^mgT)&cb^i5CaTP$tAEH|x2sbbYo?>9g=ZKWS>{ zMO6fRyU#2I4hBZ{B?b~wgWZDN!Rqk zI2jq9WPpCvtRcls3HBM<*l-%TP4qk15c#+uDbQktC3hjte0fxPwA>MSHN}=kpO9Rd z+Q;8Q?I{f$gaDv!NI%K;Dv4T{9P%lA5^mx4!23iF{#p@XA%G9w8F)})5g>#i5}kRU zy^!oFKrtYH$K1*dv;re8Xb~bHD+U)&?(S(0=q8|$*@D16H5@*E_1`KHnU*~=qP9

ufuh0qkpeq|w)+Bj?IT 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%0AcU?2z8Wn!0`G7QmJ$b)e=z*=q3_P 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 d+fy(;Llh~l7c)=r&JhFMk#Y~bU`o@bS*&xXd z)!1Vswldg`t}MCuB27BD@x~R-JLGZ=Z#+jP|H9)>b!TM!EqWV7ffC4U;CV6654*59 z(Znb5yoKihp1<*o`I*cmJg?w+h^HHUIsJTc`h!o8{GrV~xeY)S6?_v0XQnq1J&MOG zOrPMqU4`ix=N&0bqY)n~|By==6sAMx%@wBqM#+M;T$uhhy#5H~S1LjPT4D|X(pu7U zAIEbdkMu%DiOkb^3=c-X)|p`_gSN}im>D`w<`X=h=XsFl2Ry&zncn4!4GYs(IWKf= zbzbWAH0PzZ8=V(wv9Xled|~=H=Zy-}hvO|#e+OAqm>zRpYBlV<1BL0u&RZ-@2hKZO znEo#~Jqk^5@ORETTA2Q+^R6yTf5&;p3)5e5-UAEM_c?D|nEtTyRtwYbbl!==^qtOI zD@?x%uV03e zG$GBrU=vRFcJTZaag^%A^WQr!O!=Afg8jSB3xB?fcYZzYbJ6hkJZ#$}q@f(5IRA@O+r(lRVNFzsB=zo*(i& z%=3Gm>Hp+slm}9N?z}X>_neoiNUl*H$o`D;BC;QKUiu{CuO@(lZ^R3GuyhncpS;m| zk&c%*??9opV-$a}P`gsx;X-YzxFdzyrQ(hjY8Q&Tx==e;-0?!~G;t3s)J_mLF4T?| zw_2zjChkO`Ru{KcsEvzzNTIeu+^IsXB<|WmZIQT#7HXlm>saS$oRwqH+%fF4atBEC z`Jcj!jBCYGw74rijp#{_k+`kg*ORQtL(0r%o?CgO7ac^W+Q{=#9?=ee;8~CC7@p}j zfYV`Pe8G1*cnjH4@O0IO)b;AU>WZ4>0>Pt0Cu3l8POxAS^ zXC0YW>cDY#P`2g@*F9d{u63pC5l3`6XxGdz-sxW;gBt72EJ~t+nZLF3&ioed^u0-{ zXx+G`&dvNRNs^xtwXe`<=3gZBO-brSGha=jiZc%+-hr7#SsT z)$3Y&ufA$pEENre^_A)lJNzT{rPKEinUEtAo3O^=pI?&!SCcX|d0{H+qa+Vq@`&Ve zlp!hUQIaQo3P~=u*1Y8Nd*Eu<1IJw{2g0Y{(W8@WsUA3=PiewFE?HdF9bxlJ>RPuX zJF!Zc*Hs^%zK$G@lePn|rsQq&N)}E&N<9;mA@$_oMVnxke14xFKJL>=m&mOpH=H>;@#bbWN~%vK;YF_d=Vup)lL_{_JGBnQrX4e#{dlW;uqnZ#S2xksXYoP-Z?Wz}Zhn}8-%1t}$m z%)CKTe;|ok>&lv%+0_QkyhM_Sk*rw`t?y8GUAciCP0kUXI?wcaeg>nV z-M_(V82kFeOf%!RF`X++PtJ+>X(wWUh>@sLa#?=aiTNwY%h8~XC=K5>R$g%%mMYLr z3BT?n{}K^H(TKzIvrfeO=isRffT&Ui)2(yh%LE(&e&HOj6ua!ULhbTSnZIhIuAMj3 zrZ34~J7F*yc0~N7lk$*GO$Hsxc z0QGG3wo63(4suWSc-sZ20hT!AV3tI3FiX?k|^!Hi{DPQ?4k#tZVb0HNNh%5 zXTR{Y=*4dq9)z>UQ}Jr!eS$okJ&Azb1!Qq?oop%=F*kJUn-FHPW51Z9p}ctL|6 zVR_Bk5GU${n7%H{@2v7$_mzXGpS4jUC==2GB01{WVgboAwGEkHQB-wml(I+5jkBRl z4@}6~?G|7MXuH?JBke9OjWUU&3*i$}HsEcS7;neoWD#!>o_*mmS;RxrvWO=!hG|l* z%HhF(7LY^pLGec|$sdZa3vL#%Y#Ar8I>^C54fy6n3EiZp2xYrRju-~!L*y@U5QNh( zk~K#4$ug@(j!pKDd){_Q=VH&2SWp}SNKlAtK0FV_wGM?uIuzn{D9|-Rs2&ir`)fzQ zr?EDl=z^B`lZ9L_rvAEKy@ch{k5G~kxZ7xEUKUL~%!a7nC;}Y|jE565p4oLPKXWp; z<sy>3e!=@){`w zGedam$Je$)oS}SCJ0MXnZikMu3%O(M{UD+nBNF{t!E>aovmcn30c*G4brNW|-}N@+ z@_k`$zFiUtTi+{SR;A5=up`mq_Vx>Y?i5 zmg7xQtFw?%4f^qUk~N*AG&e~po#X_YZ8XEMYm;5lLAU7J&tW!Xro2P zE&DzO)dB&xIB}8Qin5KrFO1V9t>YxxaY%G(x1L=aSJ{_1%`-8bLNHnL;)g*HtY1`5Gb}G?na7iy3A(?Nb%R{|2{1*q zFuq&dum_bb^)U3NsCRFan+S7usXNb5XxF+cnZJ3`FOtIJiN= z3X4_v;q1#h>V5Xcj^AsFObnY(Qtm=Y-5O6WJRk;!;nIJ*?cG^Qqe`Yh#zk_qNN=l{fa}!~)q{V^I4|3e68eGch=~Du3$4 z+hJ?0SNnvpP22o@c!W{G*@(hy*-LbiXFf%NfDRIns-K2*$H*)1M*O?RN|lM%oBK#p zDD_M)0Y^4>t3eAzy}8MrFmJv|;%S*4{urf&g#SPaUyHc(rU`HmEMO#)NKTP&J}rg$HD4eKFc z?Lx`b9~LeDY^sw9YOM#)SLrstAZ4jPTN?|FG*B^H4Mr9o{{ye_his=9T zY>^X8l8lD=TGB+vJiPCbM^pidY^x?w5Bliw2|zsnHY5P`aBNTPM^6v9S+z7u%~m(g zWK6euaIZU=92-ha6kd?hW2Kf9=FQKCT2?DzhbzKwoP@S+ohWIW@*A{X(*?EXax7GW zW_4F4L|?}&S2B>vdL6nogZvbIvx+$O%6o0nq1K&}vw;>sosAV2%E1ap<$~g z40SK{xzLLNM&17cxzv4;Z~hD4MA-N(J9})x9p;6t*OJLMe*!+aIP^R-35(6IiLdq2 zRvKY`L$HuVD`m}2qP^y;q@*{|z!QC_Z3%gebtKYg+h4uRNt8dR<^Myl=e&{`mC@ES z2jF1(en6z0`C-(F3uoB}vp|l547vt5}b>!Hu`Jjat7|Df*71(^4TZhA_~mt#6I zOSZQ4-0!}S)yc5Iz#o}@8fF{?*jUSN!uj_W&!pin;(#ju*eMNjKRtk;e$DRgHm!ME3hYcK6PY~D=-#ig_ z*M+D@SE;iFE?Gm(dS(*LYVgTPFt5QUCBcXwd4zf#shw?mU-xgZt&zRcNG#_jiXMjO z7o|Fq&KaU#a@EoHK)=YjH1g2dgg?Gni$^k#llRM{<RlgG{&z8 z#s_p>gN>HKfCk?|(4hFLLX6jx<|Yi{r6B$)SP;rx!`!_?!l+tmQZJX)qfk4XFg%mQ1H08|AqAIcka~eEc zf|M|gs};f^CtUc|8%mdGjGnmp30t(&f!39O&)@ia}Fo?#J%KB>ktSP zTu%hoVQE>Y9hL|}&R}PU6RUFD>Gh1(qV1RFnokzmdUHX}{0fENlA!A{(r8nk;$Tk@ z{{?vxZTyHRQJF#wF07dQpen7H<%o*S%^@<;(U{@-=lMFyG+E#enqT54z5;q2w8con z;o;WF>gX`oqGHS_8mHu;@f7^kuabCvZksW%8G}^DZh2!VkSU~~M(t8q^<;mTm!RV9 z;`idK#ZexjV`TM{bt*~RJQM0r?*j~sN8=sjJsF%Gcfg%0t3yLn+3b_dQorR3<_%qH z-zFrDq?NH@emPz^=?~Vzu=z#dNl8S6wB0h7kn=tBXzJwvaQC91G*&n#drmd<0|Mp| zq2+c*{28EuaIJ{=J9y3Uu#)4L3r4o{pPkAt{#5=olK(W9-#52WtR?s?-(&P(24utW zYY>{G-!neTIl`nK(ty4>0ZdWY8<6} zE3*knEVLH`SD)Vj%o2Z>E-P;hw@lrfv=K5Xb~fvq2MGEO#SLaKoZV_lzl>iXWl|RtgAn3X#+7-6a!>75i}kvghFFerWWScDS%kY=07_Cb2zmy zzXQ-8gp6Oj!3e)}UCT&;I=9-I-LmGUu=;jKh*;OGWqq4yUSL&T2q^vz06+dNzqb9K zNV{^%uUn9nMlEKTM8Z|+1xh#IvqMbsMBhKsPR3e z!s;CCvCOeThhrX!O-@5%IC!dtM5h5{CFi9lQqk(5@RqcYn}D0`%ow{JnjFh zn?AbyKoa4*p|Qj2rHMAeKxu0xI~aZuQspU7tO%6counpn6m;|b;lMayworSD=~q%q->G_j6B2hCwi00M>3?^CQMbTYgHISUF#cP@8{1kp)8@hu(C& z@a5dH>`^dBhGD;^KswuRa3c027>y$t5M&$`MMKq!-k|G~a{68+Ke7s^U>y#7-74~$ z8zlo<407_TC3Y{%qm&c0zQJx;;{PUoOH?wol2UV$1pFdD?XMV^LX&(Fl-)2 zp!GV zT^GE;29Z|gRSbV{I6gY@F0)?IGp_;<=5SH=Os}P;jIG_;I4vd!R7$jun#qA$S-ec9 zX4cw~R8+S{DV*0KYe!hU*X!)voElMEZTfCC^R{fd%o*2dYKHw228FWMRR-O1tNlE^T0(h~zhakNZq>GMpsvZv@OK z%GFLT^9P{gE~QOlb5o|s%O$v{wfU?ismw2)EAwpXM5qEGL{&lEs#+PvbTsRBqTV0M zQY`jWgFz%R|G`h&e)_WRf?ZD)w|#<^kaqSmqm+NT*1e-^ee*}!n&mnLzK7bKEwaP|P{12VMT0fMEE>3B+VXM_(jMtLr>MZ(EBy-F>kF3k;uD__DD&3o*`#h!l z$s|jSEflQ{fKmy#^uVx)&vj2F)}ZC>zW7{H^L~b()z`;TNezqh(YR0h#!n)Rc`d24 z)$duYi{aik*Ki*d!`&mx*iMNtgL4dbtCPP0jpsvS37X`PP9ZzEX+s4dlZ;I0+{7>8 z$US0g$|GTMYdn3<761R_nV((^EqQ7Oaks?LgHi3s;iz`lil{av%f#$^SG{e!AkBOe zX;n6{zaua9!L7wPqx%iKA}RX~Vw8zqK`&*VB5lxNqmHr5=k}*xQ4z*iX%HP_D{gEJ zykYHI{oPraz8O}W-8^FI2dZO^0zWoBvbkyDHXfeS#=L%Q2~n_Z&$bObk5);dv@ThY zR*C*UqjeRuvJC^R7eK2eMD$@EZi=Ycj-9+yo6WqL^vLkS=}`ylt#s4@dpW2Bt(RQ`*MXbuG+-uOAGdqEgGs=oh&|sB9t+BlMGb>ScHL{#)R;;B&@zaADgQQ^> zXxCLqyDnXzT_ti}yFQJ=JMG%Nf4eTNl;^bT4PE+{B6WTyS#5(fSA#e;G|(Ms4mTRS z6r8jVE3WL?tys4b3ku^mli9|D(#gmf<(K2;R@4WkY0ONnvZOwptBlr{*;C|UbBS>N z5{mO%Z$|*9e?xL6LMiY&1pLkY!0#0B-6`;;ie!>8V)~!<1J?z-2XJ3zyW$qZvo}8q zWS}0YTdp5kdwRNPv7nppqL|4ZR@GSPh*}bIK;JNRU=&DlNbzDbHxH&La&+4q5^_M7 zqsN-9$+D+(yZKBujNdXb6UJ6w;>=`At2^cF=~kK_k07&iQgA51o=^9TY~cCvGD%^_ z(!;1Nb2`~8Tg?GsT1ReH*jGZYkC+p&K>TrZLD5AqGR5%&`4d`Z*+UQwTbpV-oE}OMrSZtk{Qj@!P+`QXe{sR zZwcJ4!WiAX`;sgjEL)MR7i2Rn@IFKEHf7NwWp^_5?F=-Gdki!qX_d6rTb2&)uc2lk zWbQ~(@zcEJm>7O<#0%ih*9 zkZ8MhTdVf|>Q>JjO|!ETVPz5q?HI2;}5s81b^~=Q7+)e2^TMAQpk=wC|L%Nu1N?&spHCF9&fV0=7 z^BgZ5##a)y>WWDWsB&7tiBhr{gK6E6BzC1`j$Iwb(}=va#h4e`b*1Hj^3%>1)_5z@ zK~73UOcpFC+{h7fFe_UF%hsPEH9@=$sO3wbcXGM5n)Dp*c3Z7*ZMDL+m6zQgHK(hA47MHF)v0=xEkSxD76>Jbe(P69sV!F$e zyLkqy_hFM=!$|i}Z95n_IutgsOCkto7>gRe6_O}h=D*kCK1*n@W~rc7eY0%t7>J?~ zeIwDiLbBn6N_rHm>iqEdq~H`k_)qWqk(BjRVOMxA3(j zh3e(&q0U&*eK(NGEiy3Ag&9RN~*GtxT%DTpL2+?+-eGNVBGia=u7x>DE?%zM>cvoT+ub})R0*(K1%J~{e&7`#@^xh1=G>gT#| zvaZjvZ5WVTW%*&UG>wg$E!ci zdV>0ywdYxHv~Iw9!up90Qh!42JnJ2)SFER2Ke~2;+bNQk40Zjtz&$r%d@__2SkejO zm#c3S-){Al@ZG3BtdMw*`lKp3-O0hs5VB=$(94X%E+*EiOEpM5`v1qY^uVKk6>Cb{f`;{%@s{P8~^7>90OzjpfV|l8K_9k&shM>?g zf{fVISF5bl((B(=;^THFYa3};Wv`%2wL5Alqb`x%1Hso6eCajHN|eZ0(D*kbHNx`y z3RoaQczFbQwrf3K1u!Afu<8%oG#R^Ae%zsyi9<>I1cEB4|sUbgdnv%jM!%f}yw8r~X^i@0MV7 zz8R&sGRGv%$H!14Z+b`{7e47;5m&l{g1-2#NCI0Z&id^R^$U%Ma%KhXxjW5G#^2=@x?@W9hY~~Aqs*SsljY8JOFo6=&u&q0U zmnw6K=8>Ku$2dgvz3$LX%+jQ}eeEW5%9O#NmSH8bGYT5TYe~G+!`gl?NVT^ZkuE7F z<;jH15txdF9lKc_&6+;A)_5Z{_v93!KQ>*~ERjgr7t?x%yQQdJu`)*7hBe2z*#BWI zMmqLgX?tO>ymXVyeRm2y*7CvXwPQnJ?%2Qq2C+pYT5VA`_kEBJ(Q?}u73q=NOHIn*1P@6vb7N!k4y9XeVEq~{U(x)|`75{J3umDgN(b9pT@?oB;1vySK}<``V&Ac4+7eDh7gl-QTd zA5!8{>A}AIEb%G(Qc|dWxr%bFZGJl`oPMCTy~u>FAE#_{xo`X?(zCw?pB6|T>cz>` z&|2eczUv7RIm1Y)ER=PK@%^Lb`)LSd|`Enj1>JP9|<0l}F z0FDPR`HQ`a`uu&RTVxex3`tJi;r8^*ifeWELUn=kYxcevuY2~h^AE)cff2m%<5eQ{ zb(AtwL{(-%F56f|&o+;zSheQ2_-f8?<)kvWMc*J2ayuDoM4TdGwv^o?Mz5yY7^%I- z)woj+J6-C_+3O4o0qyZkCwg)+wbIi$84-mIWuRB)UtD=mGcOff ze)F|Rrb+_}?^jd{n>;i!-Iet%>=s_DH6^OTS#Ld>-y8belL_z5w@5uNPft#==lt!r zgVo=T`VY*vNtV=^xw*XmlJslliMC(&&h6J5;2Ql}qIFFx_J(YC=AeUi=k7jtGCX1j zoMWUXkikwLr@krQuJ|X)biGlKxZcKAKNASy{Rz;qTzR=*N+kISq*bFSROalD>?9J5 zo1aSMk`BatJKcd6(Sbfke5wOUii8)PKJ>OWwXz4Zc!547G|QUAbxQLB=|jC}H0eXw zQ}g@KJ1JxTKD30g?A$EScO9-5{FO!f$^2w8sU3Er@5DUo&L%Yu7k$rC{XAj6KP7ll z2bqVxoHG386J=cwla4%ymJXX)9V>6F)a!Y^g%Q7pm}+*;0Lpt{2xd>NaSA2%mKam| z@>%l}5}H$iBtyxT+}5dw{e0^T%CO@bbDPXA$}MZo^pH0D8&=|GSNpvE)guGf8Y)uA zmK&#muXQpAvQ7D&<#;`}Mw~1HEhC{>Nn-lc-IU$n?mG4!q`R}QiJDbn0@gcS`9bEV zl+Vx!Zx6JRE~hllAaONpoQWfcQ$I!;yVtn?;Z%D_l@%3tNHsgqpBw1U_hqfkR45ik z$-TNhU_Ik?2RX35h^sY=+4z0X*`Kc!vt*I!3kyJJQ7%VO!(z9sS25q%MIFZS<_vMz zAmQpTIiYG$GGTvIjHHYMb9!q+>qBrNTZ{~2VRANA?yA&zuP6J+nH!|O+N6;iU+wD0 z>UxwDOyl+CHC~ry`NwrtXWy7VptlN~1F$EA{rLT);CeK-jBk&xYB|2Hk+atTU&j;c zXeFt&|V0N*G9Vdx=wdw%fk+|<%O6T0SQ zkgYoJJlq?F?)U=~;8oW6=2LLGm%*_!q0N>W=TcXW{2!ug5XmefJK2tLc77Sv(c|{# za^{zyRQ^PnH&PDceWK%8cvAkv&(%_=(p+kA8X{^*3MTi@VxNN9I7ln&)Wcgvm8r^F z-4(#1lfa=i0Ppm?8@yAOV@}c*C?jnWL73B*3S@yX+t^4c@u)13aN}ra%XN<(3oeG< zS1MmVC=|vYmtRFB+IUd4@j!JzRtVQ(lbB6{?IR@OMeZP9s10YEyzUj`;|~MlV6M5I zR>_<5NamJ@&c{3T8PT(H$1Fo*=4LGq3qWuA^~_U95!JRb2f6?sL+y3onCP>(e8oHw zlza9*!#6J^M%wHq-0YmtRNXf(o)eo69kRq>Q_8?KLTMLL+T?XuMO^t0UCt^hRYlhA zodLy6b5~*)1(|YJCWG}>7ik&c&`pGLeIM5V({=C$Q^u<>*vT6dBL(`i-M6d$IH z#`n_r*^Ti>X$*4-$<&fc4lIdfWmkj?*~XiNi=nwo9O2PgH&GS#^vJf^rzx%V z4nj0Y{~_7TiSYl`iu=$s?h%ruPsm})$>fr8RSxo07Og#N&ct-|5z49`&RziXT^4Fp zNpA_8%w~eEn>Jl$u7b$^Kqn1cJRr9b=)|E%@6a6R(K|G=vzr(aXP?1Oj7b+xOxwk) zerBXC@~3}`-J?4xQnu`i-IW(?ez0*F9NdL<$#v{!IZWI+>oE0)<^^DAY>`BjNF@bu6WPkT8u-{Gm7_kSPCUL!oU%Htr~S@%8G zr8QN!8>Q{FBobA1L879@8+TKV9oN=n?Z_yNmu?K!C35CtB%|z4iu62-YUQo1{fktg z>?Y;za_hWrkOD9k!*MZkW|HD$&=C7~yx2W4n#x)XZnYsyVd*~R6BL(NL*dlDdgS-n z6dT_|ZVesX4$1s~6do}9c$9f$(4IMp4afK(x2zQhqJhFd&p@xQMj3N%nbvQ}gQ=T` zGkdxlcOtH=E?>bzugJWg=SMu#zvqW#b}{JUPe4^+`Ue8BidVsE2t;$!e3Uf4d4Tl2 z)9;#xLEbq}p~L=|Q$SDc1?dEC!OCW_Mb$2xn;?y@#x*=0>0pnen6nKZ z5wXm*?nOq%@~wNs$+qqmCv1HZN5{}W&hV!94XTMu9yUiN?JExwDQeKkg9P13>Kr|) zW(8~Ndv?ql1;3sD+zTrm(;4l!kJK7ZcKwyPevsKo+FLvQqn6Nec$${RbC9Q&#L+!Y z^D4bMPhexnS~pf~v+-6^IXWe6t}ieK(0CfgOII;-qnf##7$sX)Y2FDf-I-m;-s^;x z_`WvXO~KS&ZxM82{;^chz~Yc;&@@&#lb<~pCL_&RU^^a!)3Q$;O&rXKZX>o4RQszJ z+fWpk{cU`k7Bg26IsFqDk)&2MUrW#&A!GXfn50W6s`94(?#7ki=nt)vE%oPW2g@0K zjn|>lJdXt2p|T$+P`SfY53JI-pA#=%g{uC1F<%T@Uxo@i+16Lo!%JkkcHa6b!E7L9Fad@iXb*6#BmWRw~mp5(a-Kxg1irjf_ImCIYQyvjGMua+hoo_70p zocpQlI!UrhGVXL2cf#plI8HuUM@hgZcukh%gU%eQ`e*k3PZE&4+njp+I%r8k&JxO^ zDymjGeM^Qi_by0F2D0j5%pg=9pxmu(>dW43<~EgOElO5UqkwJEyzKdY31X`LM96g? zg<2mwD_F-pwZ);~Hg`O30uq{a1o{3(HvTdhV3*t$VZOpj$y5i8h1%OAs;9|0>vr85 zD@d>X+Al1)Ru%^W0_zbhw;{cS@T=6s2zVKF7ienklIDQStIo1edcsZ zQJ~)u6LWP5uZ`;>^BT}-t8EFlPW@WT_Vs2=7HGgDX&Uc@OIZ7YlT|Enb{`-^uM9v- zkUa~#JsDN_ZpzfJT)GQM$85a2wj|GFGQNhqw->wF2Ii1fUeYm10lT>xGD`hn?TWta zzNOEgH}>VMTMS8daG{U4M8lh9?>#Dp6malVG25SKih4_b)R%WRKK2z{9`5!4xLp!Q z8_Sy-lC7VuF)4~}lxy56WxktsDY615cNxhJ*^6|CPa4CQ13vLNrwya?_dLo8u%L0|_~bxr(7rn=R}FPP2C%F8#X zA?a-Euh2Z!|9MH4k_!A^6>g+ay6C-(7Yo6Esc?&Ky`oM!;};cE*-B1qL(2b3abH)u z1k7W;gCJAPT>KR>P4wq%)w1TVV6^@mw0)jPQ=|nGzwAyV{#7Y|CFLJgzaQ@va%{i) zDLjR*^al}#DCCIgM6X{qC)2&c$`3a`2xz?pouZ&m0^)s;(+K!iU;=x***}yupCoLz zj<6C$(6YKy!|mFeCzjiKbB0_dclVQWk`>Hu*K=(o*239DSPq-F!%10GwI#@iGJ!$v z=NccRmB#wR7IP8yHF|4oIiEo``eC+K&b#(`ABjv$x(HfCuHcfTv7hLo+z+JYBHzbS zZ{(2Cg&jZMWR$}A)(e?hs3tKjR{BlxamY=NJLyNl;(rmgzkpQEvUsR^rLWaygW2EK z3p-+Z4h`YQ4=Izyc3eSO9%XT`Ybm#E0jD%C=#IaG*PeRef=FqPK;Fg6+|_9hFa9BE zP))zU=?N=m*Rx^e9MROgzz(Rlwm5K}Wbcm~NR-UZ+FYVTr4OPfiryI$zIO)qIqjq( z`jtXkHs>@mZ_=`5eL+66oAU>Bov+Fi-`{Z!$z4#s4C--v(?1YO*_}s;F>#YB%g2c2 zCEebu@36T-v<-77}@G8Uil!j*TE%vq6Dor7hAG0 zXOX2cA9owdve8?@FR%;^^esJV-*E>&Uez4D(K?Xj~@JD$xreO@T}xHf@cE{ zgRLGrz6@6^`)hc1^Gvg_LBmT2D(~ys^<)MHdZGlMv5WPmB(RJ1LGjCEc-JQDZ;JmZ zDfk7}FQ%AYLqvLMj9oG+;g=cWuFclJL;M$6|Fz zTI&06kSl*uUqn{xTf|+?a}duu9_b$;Drq3) zUz+llQvPzvKbZ0lrToJw|47QeEahLG@~=qwWtDp2y89V;WWT$W=({u4Avw$Im9TO~ zeX@3JSUFR=*puqRwRLl~taL=R7pSV0C9QEs(sU`k${3^S^}>|#W2G|woQw&SFKw_2 z7d2V*#w35J20`GT7O#r_V)!~{{WV)Hr@_iUNN3<3)H{`ygw~rfNN6{le{51|$i*3qSi8w}6ieWL1jVF5Hu~ahjatCC*rPXCv6*)`~IyxbF(eS#u_fa-hOyO#4GDz8fd}uqI}&E>1agp*?D$vf^uh zearmvqq!yPWv5~;AClvGvv4BEy^JrWXyz-zY3?rQXMI@)a_$d<2lkRvF{dqyC-2YN z>#nuV?8zf1Z>7w}OF)uHra#Fo)`COVH!Nl&OXy3wN|ara0}@!!)4vpkX}K7z-K8}v zi{T{SMPE4Q^golDH@!DHgIxxAt}j#ryha-f`Ai$LlZO{`lWRlHz&>A=A4Y%o`+XU+ zwd0)?Z^>M4oozVgrO;m6h_SK6qM@$J4A!zN{*66IqFDMHS$cDba~5gdVxr)UMp5UB zxs9fcmI;NO99Z@p*~_*OcY)Y8-r~7cNYAcK?hE+lxv!radmB9USq=)~-_Qzn%^E(t zHS6SiZXTODcD-7@F^%YE-Y)HLVl1KZ=E=hBD;WtJFQa-_+pk+rtn&2Eox!z3_DV^; z;&F^yBgxE{tJ%k4f#lW5y54c==`Cp!oXfsdKx1?sulaVoTnVMF%s9evzj+-+#8^}u ztup--E^GGJ1LM-k=G#bL%K~^g01l6riD&DaHwT9BaZ%>qX#);9 zfk&X*qtpHtFs>ipOB2|_N?Xh>(3zhB*~@!06S9;b^zqeeyOw`%X6ldnDaFiQTX){% zHJ5-BV_?TX^2TUCo_*nJd1G`p_{Mfhj9JZ!%y{)Cy&0+7EEO^rar#Jo=D#4f%7onf zr+AL^%1erE%AiD7+Bm8;Sh;kH36PL`@6+6c%FW^-C>{|EjYeYnk{Te2%=8&2JQFV zwU}55JjBNosbJVEBn&GB1&K@V38_aFerGkqOzB zO8~bBASVEq&^m(PRe}H>_-bDW53r4&$a(=17lmxIux9ldyp@6}D8_WeYXz?@C=Et3 zEm$pTulYK{Q}2}0Zo_AJ?&~|9wmkh17Dc|E*l^E?6nVR#c$wBI4Ss`wU4g08cPtFP z6L2XZJC*z{;KL?wtCNDi5%@BNJHp=t;FzbOAB6Td6G&*suuSF=Cqei>5f$!PB80yM zuWO7n_^kqVgr`!|5hIg@5LX}_IhuO6l=cpMwq2MfxU%%MHi~;Eap4|TxJR1r5(JJ< zDe$`mY(*lS`aKJS-z#88Tnfqi1T4hOE%N<rN>Jq7j)-Lg`c9)R;H?ORFv<`Wx!zb}3 z{7QlE1zb)@NWniP$x~(BM|kR8Xc@mLSpxl)ZKz1f|BSd&KJ%kQrcc?wu7gQI^Xkee z&HeR)Du5IPTHALh1)@vzlDR1UtfSy_;))*jb*|%d(AxdmaVRNjUOT2MtIhZsElSj2 zpaLM%1Fh`+wy1^L_6tOXdkVsDR)yO9PJzD!csL;;1^==nPu2D-gdM*n3oFO`$`Y26 z@HKH4Xm1ulDL*IWKY%xB?-ck!0lU7Q0<(@5SqXQN{7nF^e2EL1@*97PA8BvaO>Ftc zcG`OZUMB_3W3^SA=`Le=E!`<-%I|`_9_^IHmQ3^8qzi9J^NjVEXzJ%eA8RR=zT-Q2 z*6l9~kJhIv18LQy(r}-kwViqazJE_>*|SLa{t(`T?RQ{dkNUXfHQ1^+im?%Fp6{sZ93oIZq(fl*oOZf>k3cydi4+E^-qw~{4+mJ8(F|#1mNslP4S=e0sl20@Ynf(zX`zV zQj7HO0+7Z^iv5QGEJtmMeF;Dq^#}nsW>oa!n|2wNMkh|iXFeVfm9XSOwtP@9OLi>8`G0*nc+L4iqkdc^rgnQWN7-=3Pm36%~1+EHMXYO-S*A`Aak)(DUeW&?ZbeDt^s!~6a>%39Z9k^XpDVFGhF+2N1O4s~)#FAKs>j~VNRxH;j!lq)uK`|J zmlTzzv+KTx6G+Cpc{bHFQQ@AYLOkD5 zZ_9HEeB{F583Cun_Hl%*F5`Q&PM583^Qtxlqf+uIla{3Sr@&%a@7DsKZHuk+$N#2X z+f4rNu+DGS$Hv<>^yZP3rrty&q>MM6T)W{lG@mxI_-ZJfq3<&ti1QFn_;KPj(> zINZt3=^~0^yNOFw%qb+{LkGN(ItUrN`My>S(~l38X6dk$0e{$1Hr9S88BIe2@g5rvcst zq3hII&$po{u1V-B8!E&sh1ObE+fYwDDWRqfEsEkrPjK}hDPE;C3LL~)#7y$dLg04u~fO>WgAD+`C9Dn!jfae z%l0m3`Yo6PMB-mB@Xea!Sn*yY-ljB&oDz^%5)KozY|RPbYvRKt^ims|il-&?G8YzY)!;j?ke z9b;u(IHbzEduDKYZbYw;~3~0)AfHgDzs+uW>Nf9(NZ#~%!#T?)Ws4d z1B**8&xKwCN>{azTLXLUgOAuvE&1r%S-Z#c0cl&`4q5hD38YLVNqy)Ly@8RHopeWMh`eYg4*`eW^F%Xh4{ZqdTvttDNg)!p*1wj_AGz# ze=G4fHi)3fwA6e6m{c$-uYm*4Boj1x8K`jIuT=&Mjha-xpb#GmiQ^o38sy!YkC4?Y zBRaWs(4KTslv6(hS0R(7{of_+Z|gflV$iIPj{^-`gi=8J3nW_FN>cDvFrvq~#G+1Zo^X{yAald9lw?$TQWnejZ3QhHrmlM zUjk}=FP!egyR&JsH~U1=kGm?Kg8!Hk#46T0)}i9PQb#9}zS+$wi>S;N>kW9c8uVdl z)_1KFuo3HlJkxcZ$*^wh07Zr)6i z_d^TE96>lC#~pFallbAu8K4uXB{wGO>#g?nn&JB5oM2zQ_8c2sO_-xE0Luy-#|uBv8v3!p*U?$xS<*Un@p{7c+lk$Jc5J!SU8oU7O0VU5 zLw2;qV}(h-|KM+z3%9+dn8^B#1b@5Sgy=P&(*~IK#}l_v7@R|#^;?QpXiz`QCZASp zShA4=`#lGt+kTw!za?2^@k~hlXU(JE544nphGoJ?zn?(8YiLVEJd#>rZ79_}w7gpQ zIs4{7p8o7OB3Y-tob+eG|3SsCcSzcbhI%n%8voZFeynn3g5no$?2rEei~l~KqeR0D z;c}Zcf-sTwn?gm^kFTRsa#F^RpC`=0y~;94cyti-Ah{g5^yBveRvUpa`U1+5E4t4@ zUgY9VE+&hg-{x%~-!{x(q}aCQSi-fW4^j$EinateWL%bWHn^ z_-e2-iipvi?eokzB(`rV>>#3t;twNXj?b9*aT5q%DvwYc; zT1_yg?ouD>{^V5MYt;QQ`_oR!+^;`nGk+%^BRo7?qdaS(m$CNblRuBf2H?jFORfZC zNf~A(TCel7!l&NGM(8t}_!;-jPlQX-nXVz1Z`xlxeUS$3ZR5ngScC0;`BDwG`{m0u z_~ZoDD>c~usOhUTczzNq=9zCcCBfHgu-&I$BEc{|LYdghW1Q8U5a^q5xk&d zewp6Td6C4usq$lKw@|-R^D*+-#Le@lEy5`oo9E*%gr#g_jFUj|2@Di+FWrf_yr4ZH zbMcxg-m7?t>DK;kzG-Ftj_!T{_pi7(`*64faXYkfRH-ABji(4_FW^VcxQ#-3HL*EF zPDrXBTg{UxAHR^?K)R&==H%p)FeXvn*{N&oc*!^>b)o+9eby*_fhHEm0en}P0S?)S zQqA7DP{?2vp*;vQP}XONzu{h;_{vWvO34nk!};`2wb_M&{}!x?Fe`*8z#il*)p{@QWl9>uR?Kr+;c z&W~S4gQOMvFI2~bdN%r#k|#de_D$GJ-@Fy6nA11uH}3?6s@Vo}qR22QlTN4KnJrQc z?%+aYlg76nr2LSw3aC!0@n9dyvnlpRN5#s_hXUyE3EDb%@+x&85kPgmJH1+_z~+;?!9O* z^^XiQZn~1{#EsPDGm3Xw@OqUY`DDEIr6V~nDc4}9deCxLM$Rz7jC4A@+?vHQ+!`4I z6C0l?d^B}8w*{Gx2|X{Sz7rMC+(KZo?CH0ICl`C>wGz&Hh8q<^ju}Ezw_fwU9Gbeh zco?wn1r~>_E;LvNhzv9TXgnB&cD@Iujjv{4z{!C zhnh7FM`$fCEl;{LDUW&ICTj$9d3gE4 zJp88c@YSGoJY-$O@~~TMTE|1C^YHNC`HI*#%!KERV5}WQhN+%oqXY%}*OAFE;)@cFx2;SDzR)k3{}X}oN$X1U$`eMDNZX8sl# zW=?K=UDuV#d_nL`awlKaejg_aH%PNaJh$<@;{WiGX@=yZWz`k`w0mY!umrEf%QNB9 zNLtA&Pgps&e%16%_&j}yh6`lmC7OxetiCi%*g1`b@s+D}T5>+dOYNe-I z>6IFLh8b~W&-{}?^a+b*nJ=nbOo&{dfzHBG{u-tCw?@ z4*d9ypa;Wd63NW^`IM2&tnVVqP1o;HEsmx3LM=%w_D)GQx0_fSrtuM`ns4q!Rip-E znajVqT^AX8*t%_e0f^Me&Yx&++U5>2ChNWawx=MU9R7b33CB2T`y%+peLW9IKDHcM z(Btb2pLZT8;q6HYHrO`CZ15fJSdl^dojY2e{vhb1aJiyq_+i=~nOzixh?L~E#TU`o zCc`w$e2tVU0XEgtkHhM@j=W`-I$zUNx6Fs$Pd~O%N4hBAd>L#~e=j3_6zMPeS8S3R z%Ty~=tK7YJ%$v>fGOg68YFEl^9Wc)_U+>gm1@FQBNe0C*TN%CRK`cAD9_A5&Eb`4# zq?>haL_O+3@`ahqO{Ah!T82!eFE`2eCgswBp^ynv=Y?a9OeTKv8uO3jO%vNRuF^u2 zC*SCmcj^wWR#?arJ1`o?}tLmn~b!AlBb(CLQ8V1{*&U>Qfo7AwD z#W4C79=l&~=sbK)mal@zMbJDZJiS5aukt>+oQMPXFOtzWd)xVsnxFqP3^C1rq|{mR z*LWS~T(Fu|uxjw&Jo$fa31KZp5%F;W6++(}L60@R1Xw*`HXCp$p{)Hx4QBD$KfTN^ zC=XMLu_|ml73kGo6H`;~{TA0ZACk=e6-ck{d58KvNlO4Pe8wLnnma%DUxAI*9hw^j zxwo!Q-LCq1He5fWHmkm%euBDT{b+Tg`dPJ&>MOfE1N8%JxW24r(~Q&y6jH6*b>3RN zSUVug>Y9F@RCSXCUQW63okBU1dAqo2Ib07}^5>g}*tb`!;eOKi<_8i~n@oK1M-}+P zB+W+%qAb2AQFjYY>6bFF9xd|2#b?4UiPf9(BKPHY-w1*^pp-QWj$G!~;J|zZ$IIs8 zNM;>D6C*pYb35yg?-OF0&n3OroaHyr%iVgo)K{*03-oF?3B8igBwrwTF>VrDLsxzq zgmd$3YA|?3hT$rTbZRi=ws!Q2sz9q8n3sb`X9OREfWYidf*&Wy`|RvF1nx?^9UxK` z>PzhwYF+?v>LC<}%u^T(GMJ!Z=U(cYU7+F$dlE1jT}PF&=1xFab34Becv+v6dY?UBRY4^V0j8>FyNIzS*2Y~XIqS6ohX{xC3;NgfPWcGU!h|&TP8}! zi!2@23xl)fElJTHdhHWbb^dfl={VFj#T+`MZJz6u2|9Iya|1-8b(b*_+wC>55s}i^fVf_l%Wq?j0Mvxjz^iy1BCCX%F^y z58b?F6udjPZZ2)v=i4i-b$P(vu6EIbs#2Lr%TY`=a@0YEs#|rXc5Yc)=1PqzmG8`R zF(~Vmk$JgfuCidJmk`)AY8abWXpHjrM(Fsq*6$t&*Qxv`rJ{^j4chnlY$ah*ehN@; zenU5j#mZa5v)(;o#i0PUt>oYhuQzg0GuL05Pm@76wc<~~r`iFYpWDV(p%;Hrf=ea1 zT7vgTFl?~$6kY8MB9@1usTbMy5A>d&?+AU{UP9SsErWWy5d!m|(B-aBRPF@kn+}w8 zt|Tm7k8ks8=i*wqxp_BfX8K1qz88vI+rN~meV4MW#^%f5+rLE5)J|O9s5#)$nPJeB zi<`KU5yF#htg*z%O->8P$fZtmuI<$EQ+Z$!8djO3sXHMmv_x@l8Aqd3x|OTwr$Bc( zX%h6)Zp7FsduI7+*aqfaX$Dr}!fxF&P}|Nbki%07B;oaYsPFf{Rf>G`adL{fRgY>k zM8Y>874Uk?5Pi>?yWoAj6OW}`*2LJhi$6_y$)!Oy&ahw=P5q19i^_^13pVm~jSGSC zP9{|6`h06K;?b3yYM(y}E$h4{g9X;K7>coMM7s2OH4l@-$g!W9WkT{0v|~ShLO3hN zi1o61VlT5Jgwt-e)V-B~)_sp>4GTA;(Fs=FZ_mVgQoWK|KuViJ}FLgF3*^TagWE5Oq;9xDptARHdFY1!;GhVf^K zYZZhlbvwB6)6?n;;4T3~9rqn_Uy%m3SemRPtVg;!5=I>x72DlJqlEP@+n%#N4=ud# z0Cgoy#8KLv=yC7QL4T@Rs=EFc{Uoaebfjh1El0JRP_6qWs^vE(pF}IOy_3VxaQE2b z3C;lV05ntuWw}d1T|%kiD|1@+xc5%B!_RlcPxb7;Ka5`G#Wa}{XdcXrm4$;!{jiO; zz|>rp0xsBSyRf#L8YG_pXXY!>R6kG5@ak)6CJO6^on32$^$Yk_d4#qPve)vRX+o*Z z;7X`1dMfzjAwipdujo$F*0$N*PX^Y{Aej`|PC>aoV5l4>535iXiBz_-v~y97-|x{St^q-k06;=)JygGV*hQ)JRZ$<&lR+$IK8M)t7BMsf0}a#{V4#P=80_r+(SJ z)J+Y;T(ganBW6jxz)qe0EyI7O|I;$mGo$)R(@)>@-+;nvnf(Vy;2yZL&B4La%8jWV z?~>y)bn8z+eWjsMO~1{oXsTFW!G7bgg8|g)RGj4wQQ90lw6!P+SxK-3XK0dEBfR!} z5=XVDuW^BlA~xR*?cHdsC?L`Jeuuh5s2GS#$cc;r4oC653ehH!Q6{KMnyzFK9>Xqs z%va*C5IXwJFp0!|Kw0qEu_NkiMp+FA&1xOzUfx5Qb6VD9BeNhfmv@3Vqo!AQ zNUs#%28$!*6=gGrH)&@5q>eYMguS6BtSESD`>r(e;qpzCM<1J!?%Q9*ApAKI79x#y zg$GgwR#dt)cF{fG2B0@V9^)~z49YgPMZI-fZR>5rBq_6$12b>))xA2RV=+V;ywx%_ zJO~EX>B}<@u_37jQ5_i)M*r~8t?^Cxhljuz8Xg+JQla{v!>CF>wDx)!Ed&{{kC>B@ z4&C^@T@}3BCz^S=j|&PbNu#PXOzCAWNk>Fot*SL% z98S{7AJ-kNtSia)IR}!~cT{1dTT$<1@1Jpk(-TfNUW0?KMbBusEibo`6(#I;=piN) z|H}1r+Xn=GAIzFP*?NtJr*EX$a`@PAo%43XmU>HT#rT^_9ZfI(mK@~Cy*>A1_*fRi zLnM41dyH$ySvgo4Yeqo+=p42B5#4P4k1Dvvjuotgm)~**O~QzoK<(ib->0xpVgDBA zA+=q$@erTxouafnz&8jN%li=3ci}PPH3&Uo{B2|1#+(aD;U~HBm^?@}%}#cUG`xq_ z)8o@zzM!ZJOr5c>yTE-0v<>$}X@6{TyMZtZf7ByGHY5Auxp_nFk}{9YJ;UrAay zAMWw0l^|I`RV4i&8C8>fEv;-T(2*3nvI~tGAL2D>3kd3GhZZ6J0Yq7{^w4uy+Qey4 zYa_+Nc$OB;N!xvF$yMSX63uV-DM{|zOLkgs`WgJw43$7UNnAflK94 zMNdN_>lvUCn7!x+p~2A9)JQ2Qg|W#aVo$kd9W95{)!(vxCEdYRzqKSG7+YZyR8X>m z^A5WdYr-$tg@qI0@#msnpEl;g_L)|O=?KSBOZGB3-#`pzw|3xxz2r*#BdGcrx)9ts zNcXnun3dU2LC{e%|GI~Dvn+}#u646c2W6I8cu476x*RC5uccX=wx1Rj1ZDR z_hFZqH8`_s9obVZl)HVc*e$m6SFMmVRgd<%ch3{=QLsi?LPutxj{g=OyUFWKV?9^wT;8RCebpIyB{QYws(HEn7x8UXzTBpdE?T{YPM_Q+_4PsMJJzlX zAxhucPFehdvRGMJ$$O={zNsno8Prc>Dx@Uo;8ZQpvNnx_8zv7hHylWwDNRe3yPu8M z4z^7n>Y5BXxh6CtP{2H?FImlZ6;RrJJ<+Fp|*awXHEqUvF5 zm5O3pkUWa%@Ybba(KbU*Lrc!N?#iP*5808# z9P8t%AJy(2Xye5}T&7zJF>m)(B;GoW*lhbK2CEgy6jwh>V5rD$RoU=;jlSpc1Ud;) zbOLje(x8OC)?+a%G%QAVVF?VDLBV>xLeYLZ=Ai8KwM}KEu*c#C@p@9mx){FrES7z% z`}z=v^_O+NzalevoQbJr>x0%CsV)=F0CCs4ONriDLW#a|L6+eS^ zqvUXj$#kx$@wZ>PnEeadg3*tS zR!DL-LTuda%7{6EBh&{)qruB{hd`_KCL$!~fV#e6Zx@~G`Jh^1jxF*T*n8r7SG+Qd zsA5iTS7UEW@B-f3q?ksHA-MK@E8 zlWT*vXn4?D2~MWTwnKFNgPTKWYM_6fJ_JQSo<@eKTb2lE8vA+rwZ-W-QqorT3?7Al zSN%?2Le-hv5G3@nl`EDE+;lzyb1O!yWki_Urx)kU^l<;Sgw{;euO9w0EWVBx#<9*U z6>AhM_A@~f6#unu$H;69gx$5?rF*jjH!>-ok&OBh@5^c zIk|XnDwH04vG0JbVb?dv7d2jmNlu@ZzR8D>fu$8#Pp@7pqM8}f#MB6OhIa|ihteO} zI3q!gYbp|7D99!3S!SRxz6e;yWXX`^;KhZgfbyt}H#(tnEer*=`uTBnF|>*sg0Me6 zRYg!Vq5(x*7;T+}4v>yFYghxg7U*xR?x=6FGqSwW#32JF`Wy|4uT~YXLY!Le%8tIk zl}@ntu~FQH>8W5ZhB)WO(*C4o{Yg{($z9Z@iQNiG&Qm9`w^HWlM|=%bA80t6qoaj$ zuP9VtgM?JA?nX#ft;|7H&^OTtIQx*DX80mbtvOYASR{!Z`Y+Z*fGJsW^Z+0DLe7nB!QN`T^CLwx=74ZJi_5MO&9gJ0YdU zd3}@nMH#vJ@;qXi?D+g-$9s}Z>5X%NxtAW0JUyDVN_2cTbvoS`>ABAu6Ce>ghgPKnq?{mwAZ_v(O_f6eP>A0toFZ zIFUU&AHm>x!Oe>l>?cwHTite(iI790^W_34pMwmwyfCwX7DYw23#bAFuU6bf4NaJ`o8*vTlkdahZ9AzqhNpJiPi#=Ff!-)vnHdV;>mU(+Ma{)%qW_mCR7 zQmZJULk}q$(tXrvp)q}c4;^K!n40;>AH=V~mz>Wq(0Ir(;F9yf)*adl?h`KEsc=-c z*^LE@YNL?!Qsqhig7z07T;Dg{$9OBPSj)^E!LZxm&X>)tP6v=xHh@fP0C}4YAPPxX zDQ&tK*E?#}nV<%>SHi0Y>?>;Oa7P-8rgybHM#;jeCP0t~~_@|5(ueGKf+~ z^v&?(nHmh{ZfE%G$m7G0BPZsqb}S)=ntK#)E{H#cuqT&c!$^R1D*<#1zZpg4-$cf# zF=x^N1#JQ59>veTK8f=epE<{>A4~ZdlA<~+8NDQe9k=D*bVn|(p#OP*PW-0=WZKh&c z!Fv%fWc4DAFNU;v9@6GK5}l_gx=}6DYctSdsJ$w%p$fDp>Ns6;FI9~ji=t`(oQG-y zU^mw(uZ7(UQ32(tqCzjOTi+ej_gSx@uNqr0cObvkHl%ZZNe#N_Dw@-1?<3f1s5#JR z^<7+}-R=YbRXrrHhv?g=q3Fi<;4&S)lGEXD%M{?jQ~?(41$dWe0xZV*xo&Hka(`l7 zG@A0gfLXV&4qzf%DM+@d^QT|@ns`l@;pFKq!&y+e4CjKE2FjSzUH1Jh#(j(2S=O`|XK}lWaee{MO4@~)xNSY)+(M!7OUB}K z9nOU-DYp*iCL`XRr`%nti)MezK)l$p-QB@xTxKE`xOF?Rw4-T?LQ7HGM&0ZZ(S42d!ucVADWG_K$0MkGia{TX~}gKby`_ z73^LG+8x56@KosipDfQV!XSq=O=4NTY!+s@@-LZnL!y44-;&+s&a!?EiS;gA(qG5- zDQPnHjeN#>^QEAkdKl(dGc~O#%3R%YVPEulCrV1V8#0v>yPZfl*&Oq2Sgk zqzg?>y5<+m9gu1gYjNz0W~52H-BcijB&hdImJ^{T-Gs{E%in0DE9mR>tH~KpbC-a@ z9Pjrb%G&xlM|qpmj=Y#vN8wC>8q47eCt?@*H& z(m_z^-sG6tN&I!n(dpGxeR7U-y zIv?s1|0#ZJu?(%M7OQe9i1YhF+UiV-lv6FrxKp@)!`MP_IPbVC8*iNEh z)uhNRgPvr!Es`uVihn1qQ55-SYx}24_4eC8qaB6N)m@}~-Q^IcMuS@GU8?h8@@_tc zjY~rF2o>Ilvk0721NAyJTh2|c4LO{1G3nb* z`qYwAvWH=zXf{c>GqtV4Hs$A9ly&9$7rV=d_PD3hp5D!**xyII4Gfiu*7Bdg_dge= zzagJ~{8ZB9q^1ThjJ6P4Y5z#IwSKzhK06@(Uy3`$C82#QpGEG8*Sb)W-{Pj|VOphsjnoN35{X2k+?-@7%#!u`aRt8EK)oR$eLXkUnweB zUkDQ}t5$euQ%Ra~$ep(^;f84it#G|jPrgO`kc}du4B@DV{Byy_q9Uia1m+pKA$|Kp zo_A!Zx+q9K2npcH-|L&g={mV(=4?d2ki6+%nEZoKM&RWiaTMdrAl+hk(jg=+W-SP^ z=W4kMprBPfvAACVutfzSuH(!kl|T_P%FMw%le!vzKXyg`6zMYouU(%2o1qp@zq^~ON8L)%m&HF6i1F&>tA?Pu~ZdEX3#7UF^bT91SNu zjt<4o0!QX3Bvf=LYO~dZimM4)K|o`XTu0!w3a@j&QSIc!{wGC2$I4y!NreAFbv)s! zhYoOZ!0B2EgQikSI5J-;>3Bt@h0+^MloHPMR}v1DaU#kpd?M?LX#0RQ^jlwW0$rm@2y5~+L7Dw)MkD!Gum-zAFQqbX z7N)m3nXh*DnfyomM1|w~3WYyPX7Tlqw0_|VabdN+jf;N7m|L9FzXD@P*vP&lv~r+t3l*@F2y+J%M~g~iwLqX^H*0n-R#AAxDkb2N2Q|LQAR z_ma*;w{&Z|84rLS))n`d2W(3Lt2|(P3Rvv{=cj-*9&kYlSnB~7rho%H;Gz_;&I1lk z0X);-7@_-gjBt0~L3U=4K@UNd^*BQwa!CeR;vtu2kfk0%f%{l#9-o~-(o8PRATAHP z)iEwm2k7nGTJ%-O^ek)ZFQWil6MwP9?riuuO(c5_%i_Q$_8h#B=8 z(WtN8<6?XRzt%8POLmOzF9MeJqvw(KpOtpxw4 z+wp)c6#?1$bI-bOvjWhe{GG@jotphUoi9oX_M5t}G)&*ucw7|+=UfXHfqMjhx^;7{ zZrz-{iH@6FH|T-^!>b*+c4hA#YYwlygAmSP=0lv4b?se*U?DCa;xw~s-$V%4XgCR| zwG&V8b6P$OuSEgluqa1F^I@A!qjT49qSj9}I&y#IKEBEQ-t!fCzUn<+ljrO5aH28M zik`2q-^R(4w%CWpF%{B}S4T#h8-`2CHvtG)-{H~jMJdl+cWfACY#1FL^{93wYvx}d z6kdCiSm(54Ir*AqB-TXa%Vlye0bt%NOzs2?B;U(n_K501hbh62a2B(Yr}8dJhzlQ?kQdS}w@H)oyybbh9(4_g**a_G*>+YM7eid^JqAPkinc zs$u?Z+-hO^@oxOoc>X)m;*c>t#_bfX>x*Bej<2Unt)!Y&H&O1h62a?L$t&eHt;*|! zp{Y-%JaH}Bnc^$CzBttauy|!lvYug`-V75nnAcw#Dem3rjOGoMxGA)Y0%-j`O>ttR zzjHZzn#28eVQfO$fAk2=!mCVP+59*h>XX978m*Q7;6oC~rLn9s|rHf|{01QJ8 zU=9F`DGp!`06GDX zsL$^Iks|B6T!gDsnnP#~-^67oxW9#a>S6aDIQrAP_rObqRpahGaIGCZo;s|5%lh_J z=}*=qC#Wpi;%8%DqX#-UI2&s*?Vqfd!=|y2e5?~y_l{du7|r{U8CS`QI+9_V@}nq8 z0=P>g=_*6mF(i=7sr1YNK*n!PoaSIrPRA5RQQ}!2xAO}hrvVy*KflmtbMB^eD%%8O z-l6HXJ$j=xa}joH^K!X;GTML-(IGg4+qRg!X07V3wH{aPvxOnYGKYnYAR7^u1s_{W zY_r-L^0{T8()rQk%aRdag{y)MDtB5dn?e56DfB>ra*J(tgx*1Ih++M(RB{^yPLF(l zFuRq6n4m&4W(=+93R*?$o^#!G&#+@jk>rq)ob}6ZAl;ZpvOv{|&%h5Am^rpOozT|& zmiJ{wu(|!igAF7&STe1+AM~U6llr!a6S?gDh*V_SadIz+yyQ-#a`Hiui@&4%N2Vit zPiQ6K6y^_rvn0CqZ#A?s*X?gkb9~ocp0NAKdKdxC%ic$L1Nog~8tkcL_ra476EO4n zRMob1k;~vKl8nRn0n%qNQ|pn5-UP7~{g>9NN!jF{nnXX@WCw>}?=Q>&fDe{VtD zKp2&|na;f7F4-n$A^e$-joQ30EF43ctPL|hX!5oe3d==lEL#rd{n!{V6Xd&>sV_e#8$=MALKU@+Vy8CfYV#^1}b?reTr z9Oq0#k5ZocirBaK(#5IRvKe#)_t_|t3Mc^E*geX)DI-oL+06XY1187ZioMNeu-zjHXi-^W&; zjG$x3oHN7-4LFh2v5_)|0J(p^L(b~pN=HdERUlE@`r`W<6KxJa~ zZpNEhweXjZ)EYM&N=qQ1PdO!>%*VLEvfVK#q@H+l?f$HSIc=cNJI7{Ag=EIJ5Ed-a4B^! zrQkNCOYQHeSakHm#;?Hk|4^*3r^7n$JkqKNsG1@)SqUSfvxPpUas8b5n(B{#L6EuK zp@C5MskQ$V6khG?M$oQ;iq=(aJxIUNkuPZ1QrOQ0lP_qGr7)%$m5zKtdsPbitzh!; z#BB<*xbg+ z2PR+8epCvhXeu4~f;OhxTz(BEU(h}%g^~SAN4}taa0BtwfCsLTDD__uFpTdkk z`GPsF;#WF{n3L=EmCm7tNhFst_s=UG`GR&Mg_*SEYg`}Jj$RUSDP$SGo3FTX11gF0 zgtcvZy1`r)>ITbW!RXQE?i!-5Z42+{##)h&B~Kd5-200)l8+@%8q3`Ki#3{$B~Kd5 z-202QG9OExG?uyN#k#~*;G8A*qKuPPbSPJK88eYTk#`|p!X~`N{^sL#VIB|J ztG)Dy?%$PFL}CHOY#;m&C8)VB>ks-9;x}MeN2Fx+S~P;Nvf}S=^hgmZZLOnuQZRAH2>42sgUFXJ0=>m zmS87hVz8q)CC;G)g`-LHH#XP$92JhaJ8!31Fl9CWI;jijxeDsnlh+i6C*568wWTAV zi5|_m-UdxFSYV)HJw;4Y>-1$P)@NdBITvnQKM+rqjv#j1_8ei_4WSFwUe!MP%?=J^ zk+}s!NZ+*jvLGqku22*h%uVzPWs`*RI}?gRk_#o2QRXML_#$GHaieMV_(@8Pe?j|P zu|xgSH@Sk?i=F>n-<#4gO6k8WC50r+Ugn+urH`PTjW&7FH_Z#X{3?oImw>_CA-$B3 z73JR>WrZX=tYBLk8E%lFqF9Z;3Wu21*XH&4OV8)}Mx#Jq z_<92mD&vEZ4Z2lt84J%H`~HJCtaJph9`{K&@^^cj-yf`%N8Pdka|dgke=(%o!CFH~ z57zcj%H8cTr1Wl24^r-Kk0GUZdwP&^cY6#ez1!1+l)KwwNa@|4JW~FcuHe}*-5#WI zcivYQfDCEeANcJ-+B^?wa~|nr-x=+ulpLP!tSkPwKzY>DJ)EJETcA{@h;yQOSYH0y za{=Ru;Uef3s1X;);Q2@?Gg^O{$BaOEW-?T|)cL4@7DX*DLi9xbKzURSWh*1O z6W8X=qhvhNwa@1f(4wfD7oq~nqf-4fLgx>kJHMBt4c{qJu8kN{dicBtDOddsDXso_ zq}93VFZk-T`u8B^4#XQ$dM7WBl&{%>XEoc9keR+#`MNU8Kwc0%s2Vxvp$e2o_2S6i zg%b%~-loHiI!2EY)i+n7=FOv|bT+&6)b5PV<~-7Yj1pI>b*v8%_cP==Fc?cgbU+@o zIt3w04_cRk*!?mPJ9x_-3`3+`?@NK>8IUX(aAr|65qpF9VhwjwL43ZxtjkHKoW;)Z zHSrrzk)~KfF~~or5SIR`y6nIn&>b4Y|DEA zzPllJC77lFngccI87aUV0G^ow%yAqKtpkWJ_G8J_&W|z_v_8l_g6(xXn2q~=h1Kx6 zT;q%_vR9((7_@c%oc$vm=->z{oRBXlUnR=yWoLFn>cpihV4PKuln;HmI?{R+(qed$ z*Vg3Se%r96ql;{Q55t+2LLUeUE1;DR=M1^O+eRj@5Ls!*<}mz6ga1pSr1#L`{awZi zV%f#WZaTq#Y9xvcJ-2^xCbX6+AC8E2^-$C7j-lyEewkg%rCNE`IoVYlfNE0_Y=Jyc z3}O1iv0B`o*;{Sg>~ALqt$!h!F>mFZzp3~`HkzENjwS8_VjkHtUNlQv3nE^k(}${1 z^RF&i%}L%y$Rf8Fw`(&AiC!&<^1UXNtT{f!b8i5q)&;xtb-@m~^Lh-1y~EPg zxxXWo1Y_;8MP?pOTg#UQ>B+rr&};KSddaUF^w08bcZ9XQs^r}}elil}(z$IhoOcOW z?Gk$TVn})zFpsoH{*>(N<;mD*`E(&8ch8Iep2d)OmPCo9WN()@Bl~9gy2m0?@jqAM zXOmiA>rir+xC~}jMY|Wf3}%;3=fPg7;+_XnLz@rNlKgy_wBd}2^a84-q}rZ^*k<>u zT=$k9b?pevs%A6S*QFWKE}beFC$wDiHOJ{eypNs*8@UAAUNrkCb{#Pf+CKYfx>gr= z7KQqn_+7NB25r{ol0J$0B8t}hbZ66FR8_gB9>7rd&45zB~0o^dEZr~XVGZN=6 z`xH|vZlc6%d)ZaScFMFlGNymDkm)XH`|Q_^X+?PirWHJ&Y4w5sYo0|YsMj-|pO^A% z4kZ856krYjyHkKU06aehm;=BKDZm^6UXTLJ0pNuxz#ITxlmg5F;KeDx8~|RH0?Yy6 zB`Lr=#^OS63rTbE@)Xe=#Qf_NU=9E`rT}vQxG4pg1HjEGz#ITxkpj#C;FT%B8~|=f z0p_6ApGtMY7M-{V;uY{37x@XspNK}@v4q@M!tAcFf^qI%1{8PB*)AI;e`LZIKg8f; zXLT!4aybNf4szQ`=-pD&?Wm1LL6opUb9t0p0fGjVYGaHi`rIJ}ID1vfnK=NwIt7>m zz^y638~|RE0?d&vl%cr2nSfQ!m<4F^*(hrc0B=bF=6E?~*Z^=mVVAx^tI6HqQ5{9r zh#-*K`djtAjGIYp^bTmb6 z1hGY#!pw>M!Q7$gG6+ZfSS@_4mO=h(%ODDgsf@Y?z0WN>C`u%D-it%*=$o*(vlu(8 zQ+DW=-8$2V^gtIEeiS#)kNm+LFFmrr*2=CFL6Pw;pp_$CBAv0EWAXUChS<3l^m$EfAQ z(jg!E=JO$cFgMvtcC*O#iR;}8(IiCq2wXlCg$s+AcEcgw_027)I&*rLIQYcWQkl~e zN+8Rg5$_|nKj0(ko4m2Neqf$WtzfLDJkB9MD=i-um3-)%&xicM+*EHq9;bYSmJfyK z{0jL9TJK_Hr$7|PD#-hBC?opXsi#~ar1kZXl%Z6vRpZB^!jHare&i44rhEB0LHrbr zABE_siR5~wTeedas~^rDsLlpqvk#!=Ec)i@%OA`g)=U3H(eF3<3X%Cg=#P?Bp*uS} zM(CYEOG8EHgQ60@N@GN;j?U2e8v&{{XM6U3JnozZgzO(9jBv3NE4;9ck;r049Wn05 zf*=Qi9jKcIAEPgLLJ zPC5+N8w#XeF_|D2xqb||b!u^h5YTJ=we}~%Rb#doKa2Y3`V>26!qnu+gs8(k)}vxV zTDaQ7IG7xtMH%!&>+jcP!hX$a6m_CjdhA* zVG*5J3W;YG>kPKKnDU(?S@8X==Gb?KCO;k!O0bn)scsO)R>O!-CeLC?}htv z%PF$%24tsA=_-W63`BwPQ$*po`o7j_FftKzj)4i=2RQ-x*Jxv5`m$2}F!!_)PXJW+ z7;n53!H#}ysJW8sI(uXqg7@eI8W_x;wfIS?adi-HB9-(=yYq4ONi&N5gkffRzhU<) zY)haMCuXN2WPj~s>f!Y|eLfmBDw_d2t=MDBADxMokB9+{L&TM9&x1Va(w7aLA4E^p40tA$gAD z@iN~VGft{EZl6Lf)pb@e)7FKknYTLZ<#FtxHB3oxzmJn@QQT3fs9$X`7g?=*sx#z- zFXLR)(y+q%<;^ZaA0Hc5h}@4`k2Wx;;YES?da#=%{C|z#h752*aFT;u+>+u-C7*~_ zP$nIz))TelP=$_fM#xDMC#O;e_)K!#+8i-+nr27(aF`4#00Rl;=t%7ilO=+!047J2 zoI{1{NQ(}WWod{UQLF$wf@IlNeIeQE$Do33usz{Wm zGqmAq_CaRn)z%(5$>c|LD^X)_F#F%Y^dJd#E`r%&$$KV;gQ|PvZS}U~v*0erlFK^C zweBZP3Q_W&rYzT3z0zQ7_H$C32({KPDJl9>CO8UAeuX#Q4JQ^iFdIcgFX#yVQd0G% zN5YN)IwS;z+peeY459p_Upi|ZKPGH;`RJ}5JJE0}z?pg|(f$POkTe5dxeWbTtD*ILsH2T(RhI@2jV6&_5 zg~GXoPWvP{sHU1X+KzhS2z>LUCn9*%dgeht8o^5sszV#`J^uF2)a`95HmZEaJ-*aZjpD zc%eHX?|K}qQwtiEFuqY}>K!eT`EJ07h_Oc>2tP^;=ES#8f^P9X%F5=q=3pTUm}!KX z^O}QQ1Zk1BvbNf-tQnjYL{llljzvvr@eMgNV>HbHpeVp??mK0sJq3x`8IVzmc16MN zQ`?ID&0tqQ5bluhYy0EznPR;y=-i{I_zP@aDnzEjw76<#@D0~^u%Nqwb_9yFe|>Y) zm|P;Lf#@_2V`6Gd6B;4s`Pd?qS?*{v#mWtI@uxF zNtf<^oq`OMPclOt&u{HHR6u#u^PE=BPUHJ2KK7)nx_DjPLwV$2?m$YuV>N^At4}yo z5wx0Fb~SSde}i2IDktx>>6RK7v7M!;TF$?P0bK!>6xN-r2GWm)_Ff_@V8e?bIP+0s zka6at6v>@|Z{I)z!F<%>WR30&ZQkgPx-?f>nyGQ9l;}2t_7bK23@8t(Hs%0e{PI-` zu>f-bu>1?t9AD-tqEKB6#whJ9hUK#EJ=4{VEOJkYSSs^Yx1Fs$f2Fg2Qnt+dsFVY9 zz`=njz#IS$N&)7eLJKoj=gsTugAt)B>bo|#747_fd%OoJcRIw7($gV5NV%PFL!xo) zq$PHGkaA}_3@JU+kw?PD%7tpe+BO!vo^Bf(63UvseQAHMw z1bqLI!u>=7zW+!p^)8wc@cl>X-%ljq`A8>t=^RdXVy8@Gz1`#mWO2mt1&HH$#7s(u zOSH=uvXR2~A4wgNF{2YKt~@M~^+w(5FzbiA&}s**LiHFM+*W%TVzgg0yNPDxwu^ws zdSwpshz)01)^M7TwWezh`iMTWBT?XAu&Y5}yo#QN{YU5F6-w3+;y=*sX-{$r1ZVLz zi2vwe(-};AkSGE~>4=h!MNab7@TYHX_;bUnjeO5`f&P$~@bbqZ8T6E<7OC`wm0<+o zJ?d}_3YNGKmcAL5d4y$-_Xq96gateL<{kxcGzH8a1wkI_mpAhLwXKy|R1(lPOQ08+ zz6&BKN|*MtbXHaW@_c84w2em3`a$k%`|OjL3lzuQdtx=-F5#wF!`Ggu|?Tl%^HrcF++D{9j|+{Tk;&EbgKnzp&$LCdoT zyvj2VM{MT@yU0~qL}$_|1#JNq*N+q;{V0Gxrym(aCE|nHs)pklqPhcn2J*eL)l>#{ z2UiDTouQ7KWuQe-moG#Glt*QqNZY{+pGZ;J>;70>@_HX~sYF3MLN;vQ)E%YZ(dUHi zzRG%nx(6(xdhDP<{1>&5#|88 z)hpFUBt9LdsY060LUJ&Dq?X%*)_jLW>E5%qIv_p&(5=-X*5q6xn*Vmoap^+GV{z<@ z&e1~0T58qAZiR^F{k+}sq>J5L$DQNZpt_)vH^)WH2;7;ErKxplgLCJ5j4Y|rSdaIZ z1wCFD@`yd&@~p=@DoxlNXa+~80COw7@%4Hf724@UGL<=#*+B!>M9G@={Qd07{( zlqeO0lHjRng623bXrBh4`x2Sz+A7NFE!NK{tmpMG0n8Zk={>Pr|J04A(4Ke#+6n2Nl@=FAp|Fe+Sqf~}%-o)dLjg1wS?9A1DZDSeg zx*vrS>?J+IC58+@z+EgvGKZt2=GpeB-G-#gEzt%56jtqhQs;23&&v zL5@>kEe&C$5^B}G%u&+|7#3xQQk8>IHji!-c!R4KF$Xb>f?_zhl4B+Mw>k7yC4q&26HF(Qocx(CoB&N(V%5{_zA)#4~i2tKFL7~9O7EvoFZmi zFXNa1V7ucaGlcGpV!!Qc|JvHV#fC3^7w{!uFh|XCP2N@B9pY=f@ud(M_%yy)6Bl2K zV|?9#LwxCL78!Ci0={%FYf-)qHhEcW_|kU)Ujhbmr}px-Q+)ASBBQB7be_TZ`jeBF z;w)0;ZviYW^_8)^MeFTpy(wMXEpvq|Qsxtu2cu0M^j(k#0fV{IdnsQc%CY4^A<1r^ zhkhqp#aSc|Zw0J8=qnR`i{{}8y(vAln+Js~l85z{2cu0M^j(k#0fV_G_ENr7ln=E$ zC?ugrwQ{JqJSdJ`dbtaSxYl>SH^mg_=QDEp`OFJ6gJ()~rzfHBey2nV^d#iWPl+J$ z4NpSf{a(FMpeG@xC&A$?yDg&;CjYpc^Lus1h949o1LhPX=U)sdrx+Phsu=Z9$~`V; zNa^EpJxIC7o7Z_nd$ z9+2lML(4rb=g?T|>@t5sN{!`-^HmI5o^W_tp6DW`^zx6(8D93doP1c~a!MCC z1LF%(0WC^(^FmZWdDPRr1c2t>p>xa%mKQ$?Z5BY1`FH4g;g1k0{|;R~QuYp=fXs5z zl=AP;dHn1hx?a@s!ps87XSPc<{|=p}n!Q73RBv!9=491<%^t=qI`K93>^&o|<|bzr z+&_ooY^X>dorgU&l_$bT;E1r8F%Qw*My)|R$n1X0Kn8Eq$!>o9V$~(H3%*FWOi{)E zDFv5JBc|^^!`Yp_Kd68iZ}IFCEW6l5hfchR(!rZd(i-)ZE~sNRzXP8+iDY5Z=O8zI zK3yAfv35#%5-&z0b2@ckcTYbcJtY2v0^=w1t7$@fCJx<lx7!h5HK;Z^S?I zvxb`szk~FQGjn{Ila~NAtmxYv6WVXXYx3r}r$VHcy9014mt!cF$n+t@TNbp~c9S+E zDq0WH*Y60)nI~d9N=z``4%|2~M|WB##+Z2-lubbG#D(=`ZmJ%3ER?2E7;y43H1<9k z44`P*eJhViOzd)yE#e7jy8tvNTc;Mlqs#3eH8K? z8buNJ$K^gt?)bwvIqtx85zA!7_|pnG$6d+><&X&~*A5Z<(KM_p(55v==t>+ls{sObY zLQ}G^wZkS|vPrG|UgVX$63Nvs*tnG8Uw)p1(T7YJjstQo-hoSo?w1q|pYzM0AI9^a z^JvB&gOkZy{VP_d&%T^m7Q{MFx6*B0?`_UY)1|e4g2xbd>Wh}Apl|?rnj}x7*vDSM zinfY3MyqWG^=AAD3E}5aM<Bm2KmC|Z{~)X$d9Em|)OnQVrrQA8CXscbtepPw^aY6=qC}l+*dsk3x9UYkOss&(6%}T|7@Ga>tFV-_jZ+ zTU6NBq$uf$MjK)4A4rjfr&?lJ`W!yB$)dGowv@12Nu&HS;3=LqrRV<=&iD(8#F3fL z8@jdqH$i)Y@)XAZ3KV^-t*)mM#VUgU#ngrCW!}^*?Xp)UiELQW)Y(mr-c0 z3tGQrg@1XWd1hcw(cn6n^WTihxE|wNO9qm+0PrTdi_JC8ueU59B96g=eQok3}r?XCPFtj6LXBC69u+d+Q?9dm!v?FwFvuHL%HcD>32lfL>RN|QO zf05!)*73hF<0PTG{kO z@r!oj?;LkKT}o(WU~e-8t+nL3`|3u7w&nWxBZzy1$xcIwt4KpZatvjcEN2t75wA~*4M~skqW_xAMCaS@TrZm5dJhFG- zY%IoK1vluAzs3ipY4)%C{Hu}c!yx_&K(|GvIvf;^ho?=((~k+^KAAJLI~kS6rk6Gk z^hR|t*p`~m?LISMLT$K%)s{c{*upVJOIN;~;YTtnPoA^fD-0aAkoIkN)qcb`{gWp3 zRE5kXH0TLN@jn3x37Cpyd%TvaPh0ev!Q zYxE}8-5P|IFPT6 z6ZS5o_K>7Xv+bd+U`!%$=u^@`=S^plpG3?yOR||Hb2uIatW;$XKr3tUCG^Fb)EfP; zpfQUnIsKzTMPJ{XO#pdq%<9vd?v9sS;wm9}0x9;^_c2%N#W^@L5+0ennNVC(PG!e2 z;-46St|4(z>cL^gWYm40bBapLz?-L0enEfrjnTN+T+VE*sqwM9z; zECy(l3zqhGeDxYN_TAjx>{Bmdb>Mu43Dsnb&)ao(edk|yH`q5-c-?F42D2J54`x*q zX&8dpNl!g?OP!=F*Ea;Cqi&gl_b`-kJ5`Xo)DWJ@gMMc&*?Xv4{wXFy47Ee$e%k~M%M&BTvxbXH z@;3tpAne|wT3R^#ICpkH>CjgH2k9KXSUTmJ8EM^ba#?yupXAb`8JJ3-enM^Y(aPU- zkLSWX^@`eUVu_NgB!=sGPL_;MOpWTyuAH;Z@@%|BS_KE2u;iOA!OQ7v`evb+_Dw_O zboPDYr9SR=yP zwt=(IA9h3KoHaYaE);S6$U;pVa?U!N!CCN+yTNkKuI1iAy^;n0q#G>fY^>nHEcmD0 zU^!>GD1=?%Ecj>LU^!`nz&UF>Y##9DiYi?3Q(3;5`Cy<1XA*rbd)+$GhziiX5a(V_JV?Vb$H zg1CJsH1!i5ZUxG%{-MJ~KvCw_Up~r#x_HTLKcO8gH~0IpRJhNlC|uqvcGq{3Jy_@N zaA{9LEFR=fYb5KM8MJfpujsmU)GR?du%Y9%0>;{h0S7czbF6UI;5H>5qA5@b+T;mAIJ` zmhtsgxfb&E$&8ERz)`Z4d@arMgU%L@CcehyyB&vyMRvz3a z#bt}8I4-csYl~dwUC8|_74|XxJg6V@F2ovLPFPo7zflEWn8#^hb@O<-ybH0e?8TZ} z9P4I*Z_9qnyRhc$6~ZsFAM-B68XE?yk^Pu=A=YI=xL!Z+*N=Jc$JJZftjFfD%)1b) zYFMg@CVTTPl7aoLcVyOCeN377xFbHtZtn!@4|9?Lob$j7h-*~H%0RO4YmzrMk8k%e)J*CVR2W zy8vsqhF@9D;6_hzYB@I5`P!S5nk2IbCpgpf@xL%u&--az$wEzsYfApU4wFO0*7zP4 z?g0NW=)ml^*rYhAGmjYzk{6(HOkP#0ZDb2}3XPR%Gg}KBU&9?AE)_ONI39<>Kgmkd z5dbEOW0mHLT7{jNF-{@I(}D%7E79s{t}|`q36#GAf9jCH73gEgc6_>URz~&ZJF{qq zS+rH8x1={cx7Me*@?+sQJ`_A>ppadx$7&mcHHfHvJ}ZDz;hJXOS~4LODr#@lqM%z@ zE5Wq`J|zS8m+Ip?S#cBnpwNQ;ahemD%2q#QN6oz%E+va>q_yHVPG8WJ|Xbh zBnYN&xTFq`OwSuC&)%qvD*36^<=NXa&yw=2ZJ|5Hw0yG1r8!>WaK(;s9kFmpODUZF zG!YZ7hNox!x#Oz$pNB(jOtqy(R-*c{9cFDwt5*H|t>tecf2?*EZsG6k{B3$aKf#3M zZd^P6I};9jMw{5q?t&kefnO-F=j$(j{L5c<)EqvrjIH<+WX^Wd>}kd3**-#jAGuhb zk_u+;B?~T^U2$>9%&eTGdyt#Ux?tmvDzbyOZ9Lz*;mYyB5&a$Pt2;Oe8Zw&j-;yU= zTbTj%!?v!hXV>hGLh?G5WiV<;Y*I=sck!aO)N*4?lVG)v6N$fhUVZDc`ZifBwN;B; zjdG=4Tvcgeq-`TrBdx#_xZ|VvY5X?-aEKLq?4_913TKMZB%4*6$zY7ysk-?Xcsb7U z@(J>SrMKQX=!tbBQi*$O<^PI~of0uN7pD^z=y^;wt`2HmQi*EYYDYy}T(38|zTtY5 zN71909+I4b7;N#Xc~Y+ZCdX5)S(k5bLz*Uh+*{@T76p~3QfhA(I3q(r?^Qv=hvb87 z3Xik4+b!$w`mz=tWv#iDOCoA(Zsn4Q+L~J#XCkIG3D(mKCqS#pibs&Vgo)Kq**e8z zlA+I?S$H3**ec91CvJ$ zScfuFT!Bp(#4`@{zK!DpR)@5nTbnKo_m52vG>7VATHhD#D#lBn$J^)Cky4dsYLiV+ zPBtUOk%8vXD+Xe&Z&yYtydE z&H;#lebt{K26z7*jHsrRmkbkSxHQ#YKf*W|U<3ac=K=c>uSEAcAeP5SjTu# z_3+gzeg8UHjK+3WAVwOMsdthO-f?_QmXD~Bu03tPJUz!zEW8$;^v~5{O_V2UJ1_(^ zyA`rlQzph-&!dU9^~yVwgK$o)-oeSIATjXo8Ftk*TEM#b0c(AL`mm++Rhp)++L=u7 zQTL^8O(5S{3QWa5l#lg6u3po}(hR%xIwn|sn9!)#S^%)raccp?h@z4UR zT~-F4M&8^C(?X*S`?ZbJEa3v2T<`mm%QM-ImeS$AQjU*Q?FnjWxgVl(f2_*=E+oqT zUqqZ!C6oAM*kp&@>@=EY7|mhsq?mj&(KKWocAfX0p;JpWPrV5A3lQ zOp?!Gch21)WIOlgzRpVTI4w(yw|z45aYKpIpKyw9&k&oEC(`Y#&o;y#QvM>@ZYrEk zd>c57xz=xCt}?3yldgYoR#Tp?e`r>dh^~LhtfmWH{|GCo%qeq#{vi2|mcUP8x0;P+ zoEWxAe$1CglJ#MWcesCU6#geh$}WJ#ZJr(#N@*T)^CTnl6Hn%+j*LEz3`SUtj0G4O za~YW&^4gn5q>fdiJ0@zSJ0`};cTB7rxMO1VaPf|bHN*XP=cHa>VWqi_ zHo++dz2f*4QtWQfO%_W-dk-e`WcBdha!1@A%zDPz=g`bsrx131nd0+(cd5{vN&Csb z-q}@oat6>B-7E`s7TYfyaN_5R7%-YKs{n8;}!Zqcnn!JX}xnxBc z(-B5@o<`oNaa?8qH+}*?)(>f1dXmZU6k5*E3Ql|yG!8V71|B9%m(b^|+2=#;bw_MN z6N!vytj&koyukCVMNgMMy-!a!(48sJZKy1_lG+)@1O0&;87s{xiYyx$NkTI4Q<)Wx zj+cC~HnevQ$TsrbLsUKlTk3jy*Xo(_-Osr1@mhbRCY?e3uO5jJ2}GX}C-I zHdjay(r<0BIaJfHH(M6u1Z}EDSJK?qE05n!?44*oRvZhE8LOi5jVhNGV{eq4Mx_Z7 zZs0|;TPV~Z;qqDJPI8P;CZ!uOhT>3Viz`ZCU&ljVhY1h$8$~;#c&6mo7R=pAmWzJT zuohuNlR5DbwINwtl$qqsRHLY|Z*`T`s4JQ7>{fTV?xyqMX5!wTMoci@A*hcApg}V{X;>Y}L&MyOBFP2Fy9x_%qP_?{T5QT_~H? z*N4|pz`^8bc&EO-fws3TGA=A-#SXHO{$WNJ#Fj_}@vi(3yKtCl>8 zxa%{()m0DB_^z`t0eta}*YZAI?h!LV6mAVK+YxPxFP8XD50bY*(EYYvClLIc(Zi2? zDL>-i$@s-ea%So{D|Kv19cQPGb5h5-spC93F2f`xQ<`ETMBFIm&W+i>u+64Ou^P5n zu_z`_5jy#GT%`H6xs2rg-ERJ#ru?PZ)6>j@K{dV{pgV6g^BdV0KUKM%yPe;TQo)9r z1BF%_9qhF!%=XALT+Z$(%FS1F#25!30<%^ZZZ&gsHl`Qt4zpzLa6JlBK8F{xe+L)h7f#*Y^O z797Obv&dvWMRK%t&vlFSbvc>A&Ti75s6BO%x59MBZT#a(l7+fu<@)C7O4(SLE;W~w z>YKMUO5=s`LczYAb=ubW)!bHU<w4mzzaXw4 zKJL1#idp}y^Cqs2IXj51R&Ffua>}b=$8+Gyrd##GH#kUO?P>#0fmkhbm6;Cp{`iGi znG_3j;JGx$wmPCWU$LRYV=Rx9%Kao`qF#{xx~D44v8)!fkcIo=7mEe;sc-E`e|0|n z)&F19zjXh+)t5g~;FtyOmveQBFU`pg`<6M`t;_Si?*Av=7cY_e_#@>yex$&|A1QFt z|65)!&&f;YyY(-$R(HfeRu{wZ!e)-G)&mO&*Il~PRnj1|<@+7J$_8P5>{4sNSvcjH zM+u1A>(BerekeW16;@{$lWLd5H;T!y{_zcT3gOn}ea(a6==*>9%gms42nHGkR49CZ zW6W2PW z*5%(TnZ*~-4^~`V zrK%Tu$>{+an;uQPbBO11Q?wk|gvT;mDcVQM#?q*KOR0Q|!c5}VMv>a@4l7aU`3%kwD*AiVky}{sSNF1k&6-~Z$~~4u)^Th zVTTI`ZnP({;4NoItA2Q_ryZsq9n?2C*M^`z<6MUX^^MMTKu|xzxkiHeQO?D!m!r+a zUK-C+un3OnY}nvtXlTYvW92Vs{Vl&8lpM57{e~T3I(Mnex<9NBY-AUT=5A$m9eKAkSeL~?`u}}> zm7sotaT7WsXM48K4%qalpUNGwt&UlryGz9Z6FhRU$x9_R7`sGM8>4XMpLW+tR1Wt&k>%M4xvP{E!0jGBXE((*-6vF|S3+sG(Sa=_4U7)%iv_&_z^ei{y zC!Bry30d{_EVu#=lFJaI69dbWMO15Ju%|BX5g$u>Mq3lwnb5#qqL``b$>2TWG zg?;A^i=aB(?r0gJWwsm9MydMR^KTl_k>Tp#rq7VbisHVN%ki(E&MVg)ERnOJ=RL3R zp34>T%Dm^6JQ_xiyK!Ef_uQKI@Z4N+xHwd93p%AC)@J;z8({wq?gZLW$daJk7NYB7 z%59OeYCY0VgyDXNy|)|;#1|o`2hy?P_!;J&F85JRAY{??*$)>ESu4Bc4gD&1DU_A;oe$R8jbu1PMB--UzgVi6}qN65+e)LoxH_{chr0}uSo%16Hx z+PEKl=a~mgpX)=Xk89xiKck;K=g1Kp#b18@tmy+hWcrB;d+vX|_2TIxaNM}!*7r@H z+ZdR=QL9qgy`GZqRhjP;e6P!VTkyRz^PPw9Lz!P|Yc~PC>os zNYmizF|%4Kj}JIO0cYkRe^v9?47YY~mmdRC4oZEcbS;1`cqj+2V zwMCt`Xe|3;Z;C`Y+m-nZ0keAs5Vv^*`3(UxYlfg&s1{|S9qH$Mz@~pF(wd_CM@qv* zHXbCvV{Q|ubdu^3Y@2 za{jL8@5TIKjH|#6_`;|8<4RS5WB-M@u=}?U{{VjW77I)l3g|Ee`s@M~xo|aqo1V+h zSZQl{)%L9;bv||;`f$>c`k^>?* zt`LWaZw0<}rL6;78H$YtFmdR;_ zpn`Y|Ocp?}eo&S>ox`g$u5}??Ayg?_2KUig)>-|k4`jLfxdGv`3;H^sG{Y|6Dxi-8 zC9$D2XMo-lV&yGGLDKs$r3$suQ?9)4@cHl50^XZ>8CS))HxV0 z=Z`Xo&C<7TtqilHpwk)kV~^j=kwZ7`waC#W-7!m}OC@T5fluo?5*>_6_0dEN)}1c` z;|{deSV!XwW7E3w{Y#<&HzqBO-00(?-j)tO-*tQK(j}j& z^uyL&P@72J&ad^mmAxbM;V)w&(jM(7wXS4Tyk5$ubSC{@?Vr@RnXKoi-}t4}zUj5zqs8LsWogJeHB)T%)jDVnx};?I91Q^4L2NAT zd{oKCAG6<|=r?F9z-{c`*P&Z?cV@Ns@ieOsO25s}MSb9!d6fK4dOTA`6cI6>Tn|r^ z2YXK&Py7moA&v7vTWIks@md6xvCf`|wyl%I{{jar?HI0z*%LI8>9~=tw9H+^=^cB+ z@j@K?q83_h>lsvliQNiGUe4BehuM3v@mkLT^xZL3NP+M+OVm*<>A;R;78Pzz^VJqd zTne7x=qyiPwb!9ndp=l|C5EAn`IL+Gagr_2WOm+%T&;#5pc>9glbL7L#sP#d?r>au)jx?_ zH@Hpgu4v>{5j9-ds;@2b4qriYJI(ifZneZivV$b+bFt2LpZz8@h^iST##c%1xhSpzSnSoVAgYUf=7(8?`126cX=Qc9rTG;y&Ao|39d}ROg7^z*d8QSk z(XALRBhz9UYk`)S9SKdHi$I%)JM1irj5wJa{LI~jdoeK)ciFi|vT^ObzBKty@s|i> z)q;N0IV`s>h6ku68lXvkZA9|FuF&)4FL9*==GTpkmgi$h@_SgQZfK^AElGYS#*Aav zYbR~G`J1n(uid_XCh`n9x1(RpWit=2&4+UiqNhPxU)5)CqFrudPuAip(MiPuqo@B% z-Ob`Eb{X8pfco&T@OUuvkDRHFjE~bu<1cjuu12SpF}|64>;oh&9&2+lRlo@rU~|tG zLF)>5ac7a(e9@AlHeZ%SW!@iPY^&V=2GeCYp@wJXK^BLvR(he;T_;nwY?HdBX{7E2 zbvP4s{}yS}zqm?PiXb0QnY;+H`Rtvj(cbL2V#ln?92t@F-fasbiL+~!zw+~G#sTzf$j4M-AEc@qk6W=fKn%XkC8kmOC`ZAZf`xI1-?NdM1 z33)6X3#>LBNQY3{pc_opY`_qOwfQCxe-%0|w(s`2OP>KWrtG>>W6HTXG!a>qtKp8Z zH95$__TnI8@x5X@Xxm_Qu?Sxyz^WejQ!}{3y9B@K2GtE?%rf&N6y!*(b@2FWq8C4) zUnj4$3s|aYg~g5cTBvD*C}iBu|G%ugcbpVe);?Zc)m`1wlNlxwW(Wh#BqqQx1WA$+ zBndMFNeY5W!8C%<^e_mDfD9rCNK}F-qNtcqbPa3HIiv2Xt7{Isrj`9Y&$(4SHKXtQ ze*gIO=hLU|dG5LA=2-XMQt$_a(VQvnBXIaEtD}U?hGJCu;Vm5V%&R?$=X{nQS;AIH znW-|ue%J*)!l7^IZRkO7)G$v;+EvId{kXLs*2=MX+(z=MiNAO|<7uN-CEsM2T6o&3 zbx51bwHF&5HmFu29X4JqQ#x#dT8ktrZIUkEO<*C!I6-o04wBf)!Ge#BoHOuhTj2Bm z9G?5<@I1gp{D5LcH3vCtzqqek#-I{WuQb$Zglvp-(ngwTpQM>IHHI;g7bjx-A6uZz z>TJG`!8)2AdW-4yE@J^sY!#>SC?9@Zh&;0QkKz4Fvgy~=^;WO!mNjeTsQfco>u2~D zF%j_7+t@L_0C5Pt&m_l&NlAnAVn{B&T@XtxC6tRnRV<}!2tycwm`XN;MLB_(LIM>m z@D>GBipx|;6-QOdRhcuiuMw_`Sms=t5S#aA)qIV#(uK+<>y_y267{$U-z$VJVr1eX ze68S^`Bot`U*UYI;F$SN!I9xR0LRRC2g+>9!wgufq(7|=s$`X!k=@7kTY#4WymhLB zD_FSNEzQTTXFxyFqeA`aNk6lcb8|hN@MeiS;UW7w>8_bCYZt zRi83k?I2d87BSLxb+_ACQGvT`r9p^Q(GMZ0IzF{=Qm;+O#4Cb#TrhjIf+t+#=%Q>F zlZ~5_Iyz1YYWu{D(w_81{4QqRs!=${`$030Q`?G;IF*Z{tlEb>4o}@NQIRW9t0n9Z z+54+5#GXhkWUyGa`Q8;PSk6em?q?*aQY2MyCu^hkc^r+DU`1Ka%|j2Cr+tfUg}m-o zrB8x-Hp(XiRB%%;q%6ghxY}PMB6iT=H}A|DfG2;ryA{FGLr)5QTIh2^UnNzeN7(;O zI2pl!`#U)c9ACdmy0t_gElD@VBWOD9*GyC_={;ieo)oOdTi-*0iCmG&#~w#y+A2K9 z#%DRWl5dV?lx5lw+Xgd7lFn+0w$f~+hdzf7w!6@$Fyr{2REC}`!FJhRjxyhKb0Z%c zi>8@oZoKsqoTZx8ayTyoNAkwIszfSI&G2L%Yjj$Ci+C8N<`rRq9_?(DH8VAs8gJD@ z0E=U`^*k)8rTSB`oaax)tB$m|R5V>&y|C+O`R-ImSI3*ViGC;6(o^;ZA^}QEFmsbq z6EebI;1GfJ1Jf}#xf!3*gvSn5emgxeE>M%(syfY!OXsT51T+>P zRp8>YQhn0ER~KSwPr1Qc$J`{yH}N~JNl;Q!eYoozp=y*tnfGaUK_ov_W%7B+s0@=j za=h~yO^4+by6bY3G`R+E~jW=oeRX^FnE)?uJMHJa#YiZIcG*RR38k(wMXVFv* zmWdlXjUvZ8_8?8=5O1~j>wjoZ^wxHjq#V!l@t51uklwU9H=#PWrPJLvjsm>73GBvm zQyi_|7R#f`Sc+3*M2BcnNV>7%Ot1#S{AEg>Owll5?V=~eg{=^$5k72BwE<5(nI%-<| zbX=Tkgy=C2aT}p;=!xIn0MGWf2ZRM!qP_sS!!Tua*b#=8p}z%$ut% z*+J`Ud7H0Cu7H&RFMfd+s#YAl3<*&%+K1x|u<-h-eRHOVShO*0QsQ1Ef)o_j2gCu| zP+epCoQrt6ZLm0=gw>LwfLb*{1}i|FgBW3pZlV%dR-q2Yu@jy;(+uMv`eQbVGy$l* zn!D^IFiMD+(xdM6S9E;IBiqasT%I3y}(Hry_`u=591)sC+AP2!iEB2h;K=}J`A zsJK;QH(_q-M#d@1VA)#?xrG@A%-DzewDHij2zh7}B^#I~JPWagd6_ly%S_ouQNVZ; z#9^xKD9-U%A5$`BjU(chStBYlEzCfMU-q+NU7hm^?$eWaH`kwt+huXJU`Bp$f;pi8 zv8C&=K4U_X*E_~1o=xDrh;Yw*7=tH&I^J0DC3$om#L3|LQ9Zg|7<*4-gD_d4R)`~3 z?AMa@Mz7=pdn9$BYLDb5Aj~mpGUT0%+7~JQmB6oBspHgb>^y|S6s>~hRebP%_|OK_ zYNU&ybH<(u;c+u4>9|jIncQ z%iww?xS_#tqTESZhY)6G-zF2Gao?tJaLXt+?%Tw+Qd|)kq!KSZcekIIlrs{Tlcdp} z#{~e%Ll3oxL3rhAW68wUQ>>l#tEWQC_^YPaP$F#fP!cFIlYVqVIPqQ_d({f@9)c-o z?!*pL9BTX;AC<#P3uTZ1;N2HTaTLPn`DFjublL&5adMW1 z-v*EXaVBSF!*`@%W|XDM%$)IxV|#uRTb3%^4-m7J{x9a1MbONFt&?Xh;nxzW53ElX zS7mVAq&vRNo`pOyw3V=5O8eY4yh5`O&CyA`$m6S`oX|!9);CC0?$_|-V35Er2QQ~0 z=O9edPhe9^xjHzM#y2Lkw|fvh)oWDSg;8+7+9EGIT$C^6kLv-|FSSP@UCgHST%|+D zKK#%+mP$kIBaaE78=)r-4)zSN=mYWcP42!`dI}WIec0plFcuSo(am&*1s1k15_h(7 zY7Kx^xQyLe2sySAdW49z2rSAm{K{p~5YR9!tj8gJd+EuZ5Z3I1DuC$E7!Z5_mwwji zp@BFS7G4bd=r!~>Q?+ZVE~A1x@Ipn*wbz=vfkH2(QL5G7uFmt0(8Ki*%@1F~n-^EXh^9VIdk?#m^Zsif zj}0d899{f3tOg{qq`%$BabVUY8^YUAh{BgaPjm|+*E}1f&uGjCiZCBmLtfyzYZp09L!A@X$@^HqJfBx`bJwdj{) z%YzL2PIP=Gfv2#{%#z|jZeF=BkXu*Q0i?8bAhX;XXj|4Ykefs}w=5XQ?OXy=aRn~A zkhVx^EX3a4BXUq6 zQh{*FUiHNsGst&xL>!X=io~O#<_kva5E#Fhad|t;GYjgB$X3)?uh5EQBXX^9q^M6B z1-+EL!e5kin=X zlHXGA&PE)vI7W|sq$5HZR=~q>zzW!WY>OTV$2SdY5DF}BG60MF)s!>r423JSj~u@i zLpR4%*jFF#x5v1F%|$$FDMxq;zmyh4l~r7%jyuR$I%OoOIunC!33qoI2RLxWo=Rs3 zOVEi33NAN}HYvEQJlr;``g>EGjj%*mf9$GZkI5J0o}NGbV%&7r&HhG-KWnO-0Z1?t zWtkEy4cPyWepM<|+-Cb}pCH~7mxaZQ`R088g6i_u0^yqxdDgFKsMC7H@8eM&)Q!k+ zbk&UqUewtUBWl7PUuid@0T}cMStE)KBbaQ60tJaqPmMN*7{xroKBGje07c{IO=t`tG&`gDh!B$Yl9T5ZZ1d#cL(t5|A>XVL zGmu@Fp?X`RwRg#5r`2>D?Yiz zy)%q#1Vzcme-(vf!lD21HzdlvN8 zvn)1d9y6iXl-%}P7ol(^=mF~@C*nL>6Npnuw-$<2`ir!6F@%u`?ALRlm-PaPiMnB0 zbx0X05GuK>l}xEmRljl)va1*d!&(h*co|D9c8G%bWvzh?1TJqb5O4U4G2l{h!}dkL z62Ag+M&t%2$0p|LU<}+V6cA_C!*et<7`5$%SZF%R0gst69Kyvs$+z>wZY$K# zOf`kpI?Q?$ZrUqnbmP^Iz|CdM8`Vxm+0NR&G6ooLmm|BTqeYw#-`JE^FDTVH)1#zW zjX9L0f)p?0eb$t42GTb_F*+3XaS8ZDm%9bmLsOU;*bN{4oCY7R*Xs!RRwc<;XioKo zrZSd&;S`J1)-9-h%DKP%J~R_ERb<(I6(QVme}mn|=A8ymky>{hoT_&BfR4&gP`87@ zRA$C^jYrc~v!1Ou0~X>p_K0v+$=;iLgs;N$cH7(c zeir_0`B~bzZ@4NG0_vzyydD~fpy&7}S10)8z^rtLEpR6lj+xCtEUWiAuj%~dpT`yG z)=`N%T~%L&`LzcS<&+{D!l_-vq3#4DQiw!E11#>Y!r4YT;Hi+Su!qfY>?pdG_)LZ0 zMl*s=nRzr%7qfCKH3$1KrHIEEstujXtZ-~>CNvLVXoj*;%rs%74C;bd>roKxb@C;4 zL1m8~8HbS)CZMBH!mKmt3ZoU4EF*-a3l}%f=GbE!)|J%8K4C9X9C?d=<`{y9@#F1y zV82b(Dp;6-or!Uc8P4KYl#uGp4VK`1Q*Ls_)HuAiWuZI7q?Yzy%3$G{3SRsRW_WBt z8s=^M6`3kGJQil))s7!!Hr2mXoa|3UTZ#8TxEGQaZN;V91sR{A3;6q8idAi{@-a@9 ziQF#(`3Xq7E>&%*+kv?!&hI7Fg31AZo%K~`clQjjS zDa>y1$~V;~5^1K9YE~Gjz5+bE!ius!mMt{uWzV+6ncJMuY^1Tu;C$Y763|2EBP84} zHV036A<(RC@o8lUpNxZ~ROKd231VM7j~nSG7Bd&YUHA@!80K2X9GVN0il0xug(dFo z!HtyWwzG4ypvctoPy1QAl?pfG(&5#vLl~|=8f65l*2Czv?u45*)5G_|A1nwfUb4bE z0*G4@ZpPF40K_N4)ynp$*t+F!x8;xhsr;Ql@q+dOK2!zdIQ&=rT|bN2i$Jj* z#*9!~%d%+Q4Hww{%!zGoVJQ|qS!!JsVKEvD-MR}>`0$&m;VOi;5kgimg>h(F&QnPb z;-u$%_<_P78<&Q|ki?CstegpfY`hM{h%+v`q*GxPwwrNYoaC*`K^{Z2+GNbDS}!Up}*QAu;=)fIYnR!(*1ytKl#D5{zxJnHcrVv^a6M&lZar7xytQ zCm6mF7FWEI>5BmP!+=!4(TS+;+i=(Q{$|A^ybc0*82NZoJJL7{lmKv zZ3D}wj68yNi-(V%arlCdTyDZc)fBu3J)v_}6H^*PagwQ= zNL#WVZZ^U%jI-;Kyx6KQO+iAS&GdL&(aBdMJYdhdm>5Sa&aRJ1*yPBaU1*HbP5~RJa%~GM-afysE~mdnuq`VWwe~ zVbUJDgaXRqQd-EKLXI?fTBHyIpa@6EA&k@uu?SSFTNoPPo5#BK1a?;xpt!KvO?CII3J^7fP=7g>T zu7|dRCKku*0jv%$gBf3|3dq{2p=RbfhI2}JHB`#jBVSpW(Kj*MP-cJhEtv6&K^$2> zp?%?Jxg?Bu6`*Zm7*!%flbDjB)#CeQphaDq1O|h|raO`xephN>B;m|))H?>2pV->A&udP|L^=!T9Vsi? z%wln~9M7vIkC_(1?0D1CnI1TsmNMfNaFRMce_Jr<=A|;@WS%_D2xoQ|gx0dnFe983 z$$K0uO2$D)v0pmX!UP;}3W5)@`%<$!Q%&1;0Fbh#?up+V3x^B>^VM+G8Lbw!;!qWX zQJI{qfK#l3MDb8N#mhe`cmZSNHt;ADU$KTUmwqy!1?1W~TvIFdjYBc`x(0r$IRo#g zXBQUlZ&ktX6maaD5GYRa7okN=#>Ej>3Jxy!OYerdq#Z_AgPOyWc4Gbup8R8FN9IT9 zb*1;B9RL4j5_pf7u?&s{ODauvm@CQ_W&5o-&gqqtK4y#SWdN zVVv%7>IdHM%ne=6l(St2QUiZ*9Z;_0^whYfu5+qYI12Q@;$qA*L-p{*xf%@EZjNkL zxiFWQDomI>xx`!;7A^G6wY03n}w7!5p)hKhE&=j0&s2xl6O2!w43@_Np=y+jrFFJ(x&6DgS9QNQ$F9FE zRP8T@#D5X6ws_~t>vRx5ubj2V3kCGOt~jY08!u7AecM>rZpk-|^hLEJ0UiD58tB47 z|H49ls=1SMLNm(vV#286A58VP@U<|o`f&v$os+eJ@|Tn*(_S2=)>N-7F4^&#im+{q z#mnM6gzI?&F&nuXsf>%CIp@G4o*9=}l2X_yU~x)=uXuyv6V=wOG0tscFS6bP4dr*^ zZ6sco8)J(7_~bW`vBnr3-~5J2!eGc=Q_kh^rO9O2;q}G|SQZ&*gMApHkC6M#CSXg) zdU)nW4A`v&2CH>=sB|{uZs6^RlYE!Bahi^a6TY1iEXl%#$ci4wcD7Pd)4ic9>D)%x zlE`gn20r?%tWtcvE`bl=DimJJM$EJ$%XOw4xWhXm z+@&H-a(kw?$xmstsmbha7#S1nG`SUWc$?HzE~^6T_7Z9=v+D8w5Go?RRb%UF#}Zjv zVj9MX%$f;)>ue5DQo#AGG29Ef0>P=7;1&*5#DvE}LOwK_S&{4(sjcWjec0A-qxtZ~ z2yI}ht0;65;3`-8&qvt#({agk3p~+2YXR4jX8x1yXLCE^&Hov|3RKMa$f}vZM>Zcw zvsZ9oLCs)4WZZty?EZ^;#DwngK%G?I)W-XdRAKfl)sda?H3Fx<3Z*Yk>mkRvWEuf)IApGQuUn-B^x}zz`8kSj+?w87> zWMWQaq>T0wI?E4ap#8$lNz$33q02-Q#kB}sDBk}g9HsbXE-`1rhq}wlr}c*&e|W(! z;}AndE@5&`wS6CDR!HVC29{j#RYo&>KfHu_mtziH1Cz`<7+=;`J$Ha8vvp-b7ZzXK zw^Hhug*4@JQdUCgY!lYRlOS)BBZqB2SPVrI`|vmQVwVUDfK2;jp?jU+t# zYL{h=BOY6piHS>=DDjx362}N`3)HA}8A-K%OV#2G$BzRMwzVifP1a^|3eg)&cV}3~ z8A?tv?QYPJT$VhNkw*chJJQLrkI=Pr=u_iSc43Bf7%q{hp>0s3+8$kN3z>VE{5+zW12jMF15SQzf2Ee)FK z6}IGqU@_jHo$0k60%wm+hW-DeGqc*(y1@9;;P7o-!JV}G9|Mm3d>8RWHlM;h z`U?~}K1ifk*=4%Gc0vpQI3AORLks{o&=Nol0QxzA7y$Hl05MFA)mf^`^= z+9YqbAsu%$j`28E4cdb$HJO(AGDnQgpQ9j}JK2ASCx%>($+3svzrFpZy<;xyXkv4R zj3PPGZJ1Y$)!PEIE&e(9XW@^@k6L3ew9nvjH^LacgM(QtPkn`i#`QWDUM>YY;k#D0 z!47w8#KBqu(N4;XVr(6Xg2fplTe3+6bK^>b{-RWWZd}RO!i9bg&aqxlF$bNH1n^fx zOMEPx;R-T8OOz9rQ5I+B7TMn8BSj)7uiyg>n8X*Bn7Qqpz=<~NVUz;|*+vT!ZC`9$ zh4UJ{b~!4B9S36tvr>Kf;t{x3aKVyfwcODPM+GlqHM*abN^cqdCrjZemcpxJwab>x zO(@B5jPXs~8Oog$^_^~aGNKPb_+X54M|Cb-)>^8R_ENPklmoo|4 z{mq>r*P6uN4%(wmG*e2lbhX-01W$^Z%F0V+74b#~6^XV3dHvkX0T(BfgY~u#SH z7t&2dc$(9dMTWeORw4~fI8&R;%>08-ZJLYBiiy0@w1u*j7R53_)8v4`zjgzGr@#p#_eDyHIaI?6+SP_}fiUycj|7`g_F?A*L8ZDTgv%DhbM z@{5x@>ETCF1L2Co;wrW@FRs)Wgzge$SW8>wE?N0TAU0MR3pxH&fVf9emW0+~NeDA6 z+;GjVFSbggzAwZTqT(!l1)s_?lmOK&Lzoa1qQN8XjD@fSreWP5?=`6st3iLm=bnlx z&G0W6oO5-dmEZcFA0x8<4vT>G9DKCO(5A{#gF>z60hYh%hwFDBR2(p^AF0J}hTGza z);N4Sma4d^5nVDj4coaEKEZYf`<5R=iZM?@e-(q_jefwfF2ctA>B9IUt!&tf?{Ddm z$02F%L>C~UYWf*j&4B!!<1t48-E$2@+@}kQO#w|b)clDC1oa7cfS`_GV)ez!&66%( zg^N8G*8yeyMi#WO?O-Q1%|+SI8fH}bUnM&cviqcr-3~oGmZ2O#yg0`;!*N2ub{tTS zP3g?>9wEtZTlmESeo#65kS?8m=sYDY;fbj>lyh5Dh5;gPwp2=5D%W&75N@wW`0%M9 z=;hUAcy&zODlTF~FcR=;f&$_m`PB;L%23+yaD@e{xf(7+M4e&+%F7)nMag&b5AW%*Oca!@cxrjHf>*^ng>+Ka`}@@fyf+If>$XD~wz)&cPR{r?ft7iCiChPc z+D(Mj{%StAxg`)3TH?z#VmadiWPwOQdb9278vD7$er~m&*V@l*d`g*o0P*85_IZpb zmE+qN&ay$2y79G)*g8U#p78S-F$wyntME^MB}zYaZ=-wqt>fTpOq_uL(CD6_amBDA zQ{LgLSm}$n4eX%W3wE6dN`PE2>RlcZQmrqs?CfX$UqUBboHh>8ge71`%oK_xH%T&6 zsJu&p1zTNsE(ok1 zP;HT}Ri!f5H7)NWkc~{CdhWE#%~fWmGz+9J&*#(9!krQB`kjJ#JRTReOE6vc<#~Ks zOC`5kFvD|a?#N&iud3lJh z?qK%|)~+2eL(5cY@PJ_L+XGA0vJ`ewunrx7`L%3?Jt$ayM_@iry22h3tW&;VcG>ug zV4XYZc|NaG?jIH`)R|bT*2?W8f^`W23pm)Lf)#Y}!;ejR#Hq%x8Be3Xtg45WhYeD8JYE*8XO#iWNrP7e>($eZy((Dm zUeJean=0*J6Rb~fH}<+4-_MP`E!cqmZtNYw1`cpz z?+SM2KsWZDV1v$dWA6(#co51Ne3%>i zn_we`yRp9uHgbd;`&h8EMha%vqfZ1Ib(UN1Q^7`$63nh!{}Al#(Sq4^>odW|oGqB$ zHhnJG*fGR>cE0^nuyJGE*cXD0ALqut6l}tHH};ia=S(1G+WNj0Y~ne@0yg%IV3Q^i zi?gwB1*@J!3~L6`mwhK#O|={QUa-kEZtMrarc8EYKMFQ=iW~cvVAH0$v40D8?ld>{ zlVH=&bz?sZHe?Z$o=?ELeHdF(VeE!dp% z-PnHxn>$A^yG&{rmgN2Sg1K(YBiOtP+?X!d{CR@e<;oE3!uf*PWymYoMHdQYmm!~E z7hmMoX9~99Vz)lOVAcXX&xp0f0l^kpzC0trDQj_pEm}y-u;UvPtacHwIL$7n@q&eG zMW2l&2(~y(w?P|A6zr14g4yYkB-oNm-0?^jY}pcE2|-&fMX=>d19^roXqU-U!6KJJ zpC@RCuZ3VMmI-FNO%p7-oLIc=wxwWo5n|3bB3-bRD+IIMW(ZavCFYDHG6h>z2Q0yB z>&p`CvX$<%&lYTTy&KCBY|Sb+)=IF;FB8np^VWi0vDz(%t8`I@)~<15Z3VmXayOPM z*t#p+`tk%@zt%0+POuGEx-r}(06(r;2Q0y3=UWHCHm+xU4I9H1N04jS0LW!3hu+D;QZg69`A`)`fY;t2=1lw}88^e{fklVW1jTH)Z?KN(! zNU&{N1hdn$Sg`F|-Et*@?YLGjyKZ$A?7D4&*>wxE4fwlryI^)2lnJ(L2eCxE9Fz;T z`#LvPA=sXsZVVR_LEqk8Zmhdt`*sscvh`I8cKse=$u`zQup9OgOR=#k!S?SXmTF@? z1v_v(u!ID=e)JOT;0?qax!!^u+E2`>M|}i4e!yKe&JgUbgKn&^V0RyKWBmlX=SDZy zU$A=*yRiX+-FK548z|U`n+3D;?M%V$KjOv)3HInMz!E%mSsN_aV@E~K&bJ|gJ#j1L zoHlHzU@zSUEZ!Lx4-@R=W8&74u*VDH@L#>NTu?g=+GUa=a||VJ5CVn{RcRn zY+;v|a|AnelH+U#n<&@^4^p4gFH92b!-t4DXj-$L)E7B|a;d?e=`ZlAa^xxSbs z=L-bOdfkm#f@Qw}x3RD+6fEaW_P>t4MS`_{3vLsfw67Jc&D+%Hl#Q@pZQp^unA^p` z@Lu05XBbnsp34Pk6L*pd-2xhV8jF5dbu~kau~cnZ*ijPguGDjGj+3+6K8@dDn zUird>66odig&x4R5F^~3@>n$DS~D+hUJ8FBc%6*3vP&H!7M5O#twvu06fZoN$U}C) zN9hK>D97QJIBgfD+k%|%NLh-KwJ5AMYX@bGQ#3@VKt7;=D>@2r-wi^F)m<#5;Q|!6 ziudDw@T{)jaX6w1K;F3VgU0hCruK~+3I3dbbI(RV?%B{I)T};5^&Ge1$Lw1efzahh zthf+vVv@@a2J+yfJPb_f8$c(;0izP}&6Mc`-mPg|Y@Zz}}eB>>) z5?kvK_vmun{tSfo5X0*#Cx#`T%)sVsrmcNRK)3=5P-yz&5h?>&Y+~9QJ`*Oc+wq&B z{qek!c_mp9K7c(#`ReC&OJAU zT3k0=U4UPXdI#eaw{umY!c7=qyqv?k86&!kNstqs!oc8cCt1Vl(S++su3Xt!eI?Y4 zKi{7J5B20(cRdM>pp*GdGP!GrvVtD!-(IIDe)(StqfS+mEFsNkE-Kt`*~hq^NDd1i#!Z z5|G=8l)DT$^5mDhiR4^JqFv6a9-4rsoha75 z$O9?ogOD$X2wqSywd4-7+%gO8p>vB@Mj2k1sFaOdjHJx0*@$f!oh^=MckM|w|U5JJ@w5N4glTV+*#TXOBWN)&bXxd>d0v`_+( z>1c#_hys_82c<243VM$;hJ7AFhxdJr>CWq^!Vs3^bK-zE_i znrF!!-vVUJw{Aim@n@=55-+4F7H2n=+<&i{$`+bmxs`g5CEq8_&(I?hym1Jg+!UO# zbANs&TGwl#QhfweKJ)2(lX;Prv{JRRXgTT9u*NgS(vm9vEb{98XGb&{{Dq%Kfvc~F zco>&a1?yMARQn%pFThFpVEtuehh#bIYO+_y*fnI|iLsZH?U?NdUja6=c7el(X2bWa z+WVUD*|mC(Eid*twP!WqTh(rB!ndydunFI$wxE^UecRf_O?X_*|4>sPSQ}{Vc99!j zJFY2^P`kScP%x*C>4US5FCvBNm_pdR`4Y@{ty;$vl5qt$gJ(#c;7t*?vV3J$m|~B8 zx$43&v*01Uj)@p^q1Q1HZ8obwuVW(GY__eB@6KcT=(<49f@V5&X;$?o4YIevZwWGw zUA&BN%D76si){t_W3-oO!2T85yKXe&?%+CRT`Y+9897~R5-*Cle8)$-*U}L$ZQ(oR zb+qPIJTU-R?*L)|u)zVu0N^SI5CgVq&}rV+-<;O?E|rXOB=1rof2AWYhW%f_5 zxh_m-1(RTio@rNOW4}V+e3uhqF#y<2V7a3&N?6AR7pT1+!H#@UD`d`s(m!CBKxubhJft9xq9s*YG+PD3v9@>ONlbBu<%3 zmUN`0DkHye!V!!TXdGsvfw_&&x3P9X`B5;UTnqqibpSD-59Bj5G!3&KB#+JF;x_P6 z5kZT=a|CQLylq@9#twjT_Y+zSQO+w9zR@)mPpjMZtS^7ai?{|QJoKH?}9gS$cK-ZTbJQxHuh zvkXOwtVFa&Q?X|pePRe^@J7whqjckq3WSI}>&S?qv8}pW!ulL+RalpxCZQY>h>cI# zhAO$|o68Z9IK2Ra6iqP%a|&kZbuR)_;jp_T@w=IYv~Pd3NLQVhSPZO9Vp)~J8FjKM zyyW;N1^_QRfEa?A1=r|xuQU$;h0%yg|0r_kBXq4C@xwAjYEuUiFy#Ojtzj_3OXP6< zi`@o`^MSQfVlY0xEGX*A-pEN>0Z!#CB12<(i`XPnBD{=9c872?S~kkPF6?= zh(Y?aUI=ernX9p2NRJWQKn+0#K#EBjZh*ycNH%u7Tt*Htt9FU`ugiTr>^t<3Y`Wtm zNu&NU*e)&`|P=r~ktSWi^W6gq8Zvns0t81BB z#RxU$X^%sYUol9H?b6!_C-TA2b|XCe8M5GL9Yp>YA%pP|3M_UM<+zr~iV|g(i1nI& z)a4DyLhC7}Sjc8D#xaYNGD6=&!0=lCq?}q)^M*>5BMcbLkT^=pZX%~g7^b4s+9Rkb z-cSVnTzEIg@|MmV7G=?=Val)J0tA^qgwgR}92@!(s)H|eK^BDi00{-)hxHiT#)m&Z z@bdi@zO){!y_J{ng!V$h`cT1-1GYX=<|kI(q~a&*T%6CS`MF;EDbgnN1EY)8*6;AlFHWuXwq?8yAYS25 z;oz;-A4?!CpPH z#7jSG=fFt;&fnH95JNVgB{ZpIM>rYY?s#Is21p@;s7ryltNG@~?j(=08o8qJ~S0xX?i=Y1=*wqH`xhya$GkJZ^SpM2*= zwXH5yT-#S#^$6WX(257UcELbRxc=Z^rmr|lUmc~vJU|bl^cwfLqzi^yob3>12w(7T zrJ%T#zKEf^iX^m{1^*I|@YisRspVIA*gi3|xXolX9?OyXEhQEOCE;XbOufNY&B?p= zSW?0H1>_qH*r2Wq*E@z~j$yfDzyh+8!RoCtVEIoOu*QW+qI%bo+rip}HYo%5N|c0K z(c2`qw{5*vXG)iZ+tMz@Z8r`f;r(x3uPn;TMNSgD^ASO~XipbuZWrwh>wGMx8g|*> zdg_Bxwol{a0=`$jf~(zL%f(@xtpc9}{}1dFyz)p4#FYdBaiw~C0oOcCe|IrC=~NQ# zOmEZO-d5t}$aP#1#7iJXrGOHdZV4vpd}Uco%k1Wscmtx+Zi133qg3nWQY#&)dL`AJ zQtg{dUFb-ybqq@#!)nKXF&0DGhYCV&1;~(m+TmGXKMU<=k^RJ}53$E|Tb^jCu%?YP zIDmXn7nfUuZM)(26W3daEVgW`c&?{mPORQ{M;P?bH&77m!Qh|`*EO!^NZpFi8h2s* zUV=|$piw>L*F$F^=k7y;$nc^xl`2HO(9b#{t&EqZ?+0xb+ za3Q=gH?1yI)Q669e;3ztxPMq_&ayS1n(WBgQZiO}UPT(USTwa%A(N2e zA|bRR46_QkiiNcY%KLS};s1;vlWYW&45R%4=)=4SJAe2#lKds{z%OtTMS@p^>un{N z9G|cmX96@f`-+t@W)HZ-CE2^$JwqjRu+X0o9*%Hu;h`t&qfBlT z4csLT6h(489`$F?8>h;#^2}p#DG5)cWk0ti>)uEm35i8SO4LwdfLnsj`#Ht#EXOd) zF?4qfm5yP7V;JKYCOd{Hj$yiEm_b7e_Tqm06 z!K_9k>ZKva(-=R<55p+LCW89njiiDUrzpfa6Xhs0A1)Pdc*B0wmbwcN)%@a2tkuDA z+FS*J@VBtYucwW*1M?D$6LqZy+8>tup?+%+w5da4!eaZ3T%*$!OYq|`Q^7SlqtGOJ z)n^OR1J+1zhT?D}XA`&r`_7!P=y}R9DL}P$VlR=j5E4lTpSB8q<1H}C#zce(7o^D( zJtY0sR}kc9oOpGbZ4>?uY|yMl4O?iv2D7P$7C@o(7R~CL()llaf+2*Q_pm-C9Hk;V zwR$5$N}2T}0%+?+IGEPh5MX~pM;y<;;9uA_Gb1A-JfEdMD`v`xnNbHCBnHSEt>(iQt>FWov6w7RUv!E*&FEA-QF3eHw0;`RPH{rn zmQGKum$S>%QiSSJq$Mso;MZP)$+|poi5r@)U}jB%`kXeez2&^(YJmPYd2~fT))Xnj zs(t`Y;vgN!IPJxXT%3ALFMdqv!PjJPJ3Li~zJqtMpf$GK(-{lZa?fPo5x%BvHwBut z-OCWw|E2B5o&b~;y8B<-Zt*!IdOqZwwtE)LdV~lMD+Z(Ik=G-9L}$>P8KtYnwp(!kw)7snp&!m zNk~=O%`mHw;1up9()-u#EBG&x8g&L*C7Yfn?cJtFPulz(ymbroBM?i%KCQW1QUDB`;gK4xZN^*R&4f7uU{PFgHwzsRMOwOw~5 z)?w&5!#Rfh7W|JFf**L1HH*UdVO-*wv~Pc59NehytjT0hy9_M)4GpcYhQ?UKJvefs zIdM_sZacU*rLVus|SeB`E?_W7JNlQ5P;@l){{9tOBF50F9Y5T?Dcd*YP zLtOQ~h;BccOCuD{t6v3ZMApZOi#=S0)=3KZkwHt?3PR-E{O|8X3_{VLCyeg7k z##K&jtF1em`ge)HeI>Ln4W>-aUefo^A$@NXY5qm8rzL66U(ERar#tDJVjg0>IJdpl ze=Ad9UpajrCV4SuXyw#S+Eby|(>iI7Zzr8H;Ptcu?RDgfskPj}81-7r@Sn4S@j8q! zw9wYTm!S3x%)LE(>X~=%NotQnTuQVjC(oQ^YTpU+z=aIYGn*Nb9t-IE2&9Rry<0{) zsFrl;aMG?PEun2C1@e-JXhKJo(|otMZJ0!}XFTb+i%1uMmTR3R(0m=tm0EDs zMQ4|5srS8DY)&WZB4Gd6=gJzsl91khx1J>Su~7XMYlg)NIm~r#*)(;>1JxZ zBuDy*?bu7H`TU%VPy)Y%s}@?q%-7S(wFg$v?M?Nh!;nWA+O_4crwi5K&+0I4?-}F9cD>K)sTtq{u&WB*XAJ;nh~&%QdZKmk!F7sO zc=3JKVB`SO2-WPI(0$f$nEfL8z-CHjgY!VLA$TgQC-zY#YaZyl0$c`e!RjNDnKMsR z_rz@`BeXb%1>69fT;DB{p8hAQf7A=L1H!#NpOQt|ZQwL5zu`pnaNINhtZ;j#lB*If zMSH08iR$b1J~sF2yc5-DVOQKs5|*j?)N+RQs#cGXy&EPsRQnNeNYP#aHwNRK--SCO z+;H5ZM7#Omij3h}nsA>9ceeJVhbj16gj&XF|MXC2LXqOW7A`e-qWS{Z{UF>AapcBp z{}#@G-4fhq_?zf#fV(Ym+>PLlfNLe( zwcse(R=9p}cN@5N!u{R$y@PNIAbBV3@`d}(w(Bh153sujc3p&v2X{ZXLgCJXBvYb9 zIK%bo43CaIb(vhX?=ipk+U}LBg$tmN&o+6)p#o+rSMMZW$!WVYUT#Gr+wAZj^9) z;f{7^3wImbodSoc0VEfJ`y06N!i}=EoFm*rwhxnpJJaTBgu5R)FN3=&!qqQj8Jwt1 z6Yc|)&m!Y$?P;Ag=issv)gNh_wJ*V?XwPptQT-LTZ-qO4(TVEsv}?5Qg_}NvTDE9E z>a3f?ZeZQqs^QjfaGzaIZkv{5+`txP=!t6fys0?*lcGHit|zz*;jWb0c)b<^r)lX8 ztf>dJu1XShdV=RBaH~*rHg`gO_uQrp7P~$@spXh9Qr!J#1Kr)LT`hL)QK!%IJVOrd z(ov^>^t`O$?gRKR?J7#XqP;AVf9cCM=^!8Bt|d<7KNq0U;XzAEtVlx@EBIiSOB* zFWmRg(i7h=ScQb&{DmAOv%tOO`BmE{+ z_ljtF0Ok69E#C9GgzRaFQG(|!iS4;)Ck9}L_ZQ;Bb5p1@+4CjbVH_zjD#jfIOL=T&jH4cw3Va?k6+tr9Nc`9QRM5@J|Zcs>`qz1!%+N}G!cx8CD1>H9I^ zuJNP^_YiB2zRlAboTeSirIx!r8-?2_-2FE9?I7AcWOElu{2sTtp{r^43^~MMi1ev1 z+jet%)9zKzwW4#E#P%2AQnXDd*O%h^&DUZ8m7+~S9s9Qy(C;#t5_OWBar*rd&N8W+ ziTYnfOO^PZs6QokA(V-p=wlT3q}1?^`d1=3uYtaI)PE4k&*0xyy#O42=!(+%qo+(y z^D|v^)T$r#ay=Uy)-R-vmFu~FN`3{&o?0b1+AThxI;-?9e&*3Bsd2-=QOm&LlpLlP z3isi8{9if{{T z?ro7=WOLsOw-_A58I@F8E?kN>6>u{FSUaM>M|X#>D*7rUihXg9#PPPo0{%CwHS5A{aj9*$I|g^a1j zN#PF6p`>Me3l86x-dCA6Tw82>Cw7Au((VeIt6g|!`Wj=c@w?bnTzY5v3~*W;!}8J6 zJJXAd%|^O#Z`fRB9LJcWAW6GyvFj-AHXE%mdrr}Y3U`f>CwA$=Z816vcP6+CjIBnY zaDK7dYLtM(eO5>AOdqaoHA;oMw;#C!!lh^t3FkB5==a<3abggcl_?roz=xSlEGP8mIgyCId_$3`#lp=vq( z`^xAo@jE8|ePs-kaQ;@paDHtJ7I&j((_KgJU~#uyBs+VD2zLv(n~VbQ@Hm#w$3llt zLJGVi#coUZP<2Pc^eOJ{$RUiEg1)el>_^FD-)`a7P9@jE=5FdjF4N|Y*OAK?E=407 zuB~T;4|kp+ACkef2bUgXjDD)24uA_h3eI>zFusgh#+zww?=tLiW3AszmQsGu1&B%2VE=BB?nf-)YCU(orGlhFb z?3SCug4d({Y`x+T`#AF~u{(gY?g?&`aF2>)omnH?F0rdKr%K2IV<=f~&Jw!^4w74I zUL%o#b|zD@DsavzbSG%+;c$#~x}qU|u6y zMqEWLhs%yfCod`R3qF76&P9~S@eMDl5H%!eFs_1b)F%k_72*|l%Nh5Wt6 zzlRd(Uw8j-m*g4#aW1Z({~Q-Lz+WA2AmzLFr@K-9^F>PnR%m|KC;I0IS7dV+#>XQ@ zMHW+Ol7FE~%QXKY(K72WwM_Rf7I(9-mP&3(Jk~3;z6jX>ZLWW%aAzmGxxtWZv>T3v z+(z!QCL9#G?0Ea5l59*f`Y^HnKixN&6YIy`y20$AeKg`Hqn-9utKW=DtZfForuk^g zao&mbvyYFdm{`AgH|dQvq$AEH9aKxYbU5i&p+6_n{FczR2{b<%PnwrRstFxcPV?Pm zqz#iuXH}AV#*e8e!#lAF6^2%@Ip8(4+eVGU44`J#IB%*p@A$jk3@tG0Tu2UF#!z(! zP1CLzF}os78`gR@@PbUn#n*#0Am*hVXr6M2@;8Edw0U`RDm>aWq1!eupt*7heC$)P z9Okv_R)X$pxDs^emdzDRft}Di_SQY1E6PYiLf@#Qd1M{wuCw>VBdna1Z+OhhFmz#>*y(4`V1szt#}c1BJFQJ=uWs$Mq|&~i+q#|!dVAMlptDOyfsQL3 z2U=7*3G|K9sh~e~oe6qn*EyhPlwJsWYw1GJA4@L*eXw*ns8+TTbXnImpmV#f1N|-I zH>B0xr42BDQo04yD%}D4O4mK04|d%T`cmm((2u(w1>N8E4$y|udq7hcF=hHLdI08W z8Pvescj)m!j{})F;2F@5P;McEbZ(~|zu`rs$zSKbhV(f;h-p&Y`ZqLZr|Tc@=FuL` zWO*pw`8H%;Tm3iCr>^`PG%%Mv+If4vfXvJcmYwY~!}j4qA6Zs}wp&=<+qb?jEfSVe@F~Izz zOR3}I^AoeWPpse5igf4@(t%S*6ONHi5jsJTlUYPkvPoy(PMT3ox~(C(FZAG zXfG7f+;PCHm@6f(+TM4UJ(%N^gp(rA9A{Z&>0Mkq7h&sJcTsm!JALEM3R8PcTALGB zEP}R;moEXGwqXV6{g+<``snH_L2K7EfEHY_6*RPAC+N@XZv=g7&26A}?s^n-(=H<{p(K3AKlRn zNUQa|K!>lN0GhXknwMTPxiVE-zhMDB`J-yh`xEObS%yi64j~;lg*4$9=@g+81UZ>S zBqf{lrb(pb)ugk|CM_1^jYBm5D70OO=J0OPce{}em`wWcVbaxt^gK@UTF5Xwt6^@j z_X^MlTaf-%P1>b~v|Q+!<7xgT>k4e|Q8i){>bRkm9NmC8cHX`jcw=A2I>NT)i^6Td z_pIFonct5d1YK|447zdaZLxH?apJwu{6ZS3eehbLfO7I{`ARn1kc z*=Fe39wm(mU34kUZKjb{3EeSZb7ebdV7>klWmQq9-u-RxOOX7n)l1MkqRUJ0h2<8h zRQEc}!0=FfrPphoKFMhJdKj^4b-}Ft1(L9dz*8zMu;>3|nxNWPettRm8NFKLO;A=xx%A0^Efx=3VJ3tb`f zsd2Pjcrob><4JGZO?q(}>HD{kz9MwJ$j=qJQ0V(Lw7ukZ(xc*P!ZMl*R+45MnI?UT zsxRjt1p?DZTi-+)YD3zqn)I_tq{(|p>%{DBeGbx!ZHTIaP9Lhu1A9`|tS3;yReJ70 z&*Ihm7%eoWE&Xj-J{dayJCQUoi}c7jq}{rZerl1nT}j$^66r9pJ-?dfAB0xd(0ql^ zc#-)nhsc6fq{l_`V}f)8;1v_LdujHzJ`b)+ubvlk z%Qza^Oc@1T&64?IMmUNt$kK9i4 znL^(a{70crP9^@)B+|o!NpIUrdQc?)Au?|W-O_Oh{Ms-5Z{rA1jTP1SP>mLxapUUq zm!L-9(GZE%lrKDAqke6UBYj*ao#OpER?Fu1SOb5ro=7^Z59#Kiq^-M=_7M7NUz(Q; zBMt8+{bkacnEv@a)&Y5BFzF3LNxN9DS_FnYfxL^g5wW z?xF2!an4Dbcf7{|GwrJ%+U>Zf!52o{k7E( z!n|bX6QECB`68&h-=8?(L3|xv%_uGD8EMOz$b&iUw0D;+hxyjRx6roN$b5t|M32l6 zS*ke>>DA^lgmA>Uq=RZnmkuZ0D)i@Mn%@%IHi70x<4N<9NHw9O%4xp4jMOup^uP+z zCp(e0>rHz1c2ZsRXCI~cm5!vhi_FMXH1`v_QQU6cP2~GUq^mC_-6^!8n&$UgeTH;U zbD2B(v$y3e24A?uxZ2Q04EPGRjIUS59_=s&=DbYJadzzH_@Q4L($8y1hu4xG7*2Yf z(9_8@$EA>VOd#zlv{MqzWkM&E(|odwbjvEzeL~a6(|mk%W7{&n$1JqrOA<&|CXwDH zG(VN*zqBO1dobyuRiyjJlNPKb{kVp7)Lzm>7n3$jBJCeX>J!>qG@l_lyNYB9XeX^b zQlOJI?fM-(I%$g<_Jcaenwa@Q%m+JZeUN&TTqlxsm7TQvuDTc0k#7(@OJugdT(skR z&}rB2=}{&t9%b5Yta6lTb0*$gk%}?ZPbhCHwFk<2$a9!AU|u$3XGNvv2blR7>7&~e2&!qX^gD?uxMq%UznQ$^> ztSv1;*PovQIuNO3YL{ayhpz=-jAv@|#^(a>zLs=BH_~GZJA&3O>;ihr!V=KP!V1vs z3#&lqFFd2Fowj1rK+xkWhJbQq342J-$*n@amO)yxhpR5kqjvUchFTr!h%mR4@h4Wv z7AHfp-`cTNW9u(LjK7zqQ>n4$= zA18g~2GXxDBb_Uf**P@Folp8|FVdD(q@Rx>{dD#w(ag4bevhxv`t@o-o2ev7ya2sY5wIf z>D3~0ZyL=Hwj}K?Za43yIa4IRUqrK4WX9Y`^DmP~_g_ldP)+)NE7I=$N$0mF{c-A7 zDD5Ta2f6BaGfKrB*`!|_WC`)C+lsRNw_O%W)W3pU^Zai@YOtw!Lt^@$BHtzzrv90v z!jC6+{XcE{rBwVs%G9RpNi(#IQf~k~oO&p&9ZJadSPpit*oQowG@A66QKZ?cNY8Cc z+Fs0=9cV5RbNLjSTTLdtLR@v)NAu%DNmorG%{oqc^d`~@p*d&M+;So5IMH+P0L`NW znIgyrarOLV#8X87DAE6UCXob@{5_TC!ttcvTY?`Wov@Ph*EG_@;;Nq@UkY+v5xSSr$6Z>{R2#jiUrRtK+JbP%rIJcsnJ0n(4-#GF97B$4zk!Cw>nF2Uyrep2xF z1V1VG0>LM>q^nG!(}m^G|I0N$?vmC zAI~J6IhnNXX3~BVo~kJ{r;E9vEzRFZ?AF!Md_y(q95J^RnS`^6oIFI@TYO(6zAqOa z|0cd46LX&U{eo z3x&QV$Wk#sDtZQp+v!51LU#!rBXoh#tArjAdP3;SLZ1>JTS%zhoI!v8A^JN@OwSiO zP2#&*=p2dNi$Y(JxNnjC+9gPW#QOiE>b~Q1y8Z`%pL_2)H&0@Z5L;re3L!$)lPP=0 z-ZS^a;`zmUSn6)XYEvhLsifXB9{XU;_KAz;4KhEpE@8_Iz&mGSl z=Z-kXU_CiWimHF>LTGWOEFn-jk1JJhaU9gX+LqIz8V(smQ>Cr}*UZ0F9-dp)pYGvXP zC^a$_(>^;feYENb)KF{FNl4q*!nC{`<}&q`V=l-m>-W|paHfaL!If3XJOk$;>i$$v zqbo4%QL8Up3*1?G5{6y3oP;HeOVwawpvT)_1LU2WSecH1zHzvBBk#7TdU|Hwgi`Ud ze}ww6)Th=?OZ*jD_+2ulo}DqBB*zS>gv0MPV_HQvYIsUk;IZu}QNv3aQv?WA8&Eqx8Uy#3i2}~=?v|}<3HvG*wTg{A>9b6CtE)13Z&m9W14Tl^pT?+E{W;5Qkd?O<8R3E`{eima{OUA{+=9v zSdJeq$9JrVr7Fv`r%Y?hw6shc%5-~Y%o8NbCU7|wIlNxh(_Pl{pfrwOSq4-0vX~B% zsed^f7P6iInP-a}KTQt*A&2kF`PwPdB$;~3DK?OEx<3bNSRrfhk!h$*GiB;7(={^n zl<7v9PLSz9nNE}GNSV%+=`%T%&qJ{0Un4MmB*%1Ygu`F1!t{?OnBJ4a&%5LBPcp63 z1BVOca0@xSI}yh?%4HHKQ-8T+Qe_$@=k$OHy9=h1w_xfo+vC+0hn?l{f|@w|yPUh(lW}-$Crk&( z;p#F^$ygk7cq69Xa_Xbx)F;X*K9p16DTiyzso#;qZRBw0O|q<7Q!>pUn}L9l5(z{ zW3ZkaIlhIgVW2EKQs%iWOKp_Hm1O?fGXIymu#`=v88WRV%XXG&ysTk{OuNXkr(}9k z*49MU6Cl@JN+{N|Qr2);&e2L)YJ{w3qioeInQoVJ`c_W;qg)yv<*-u^tl@V#{6>x+ zyc5T~kiUgkS!$}R;eZ@|CD-!fQJ81SDoh*88t%(sFFD+67>*wx(}+YIzAwwh$>B)3 z#h#aAM#$j-GW{YIbDpS%>DrcwH%Fbr1;aMZ^B zI!rr_!n9$ZJm{%ttx~IJTa(2*YUMI z07Si;4}o;mwgFI^dWr+@_!r&7!h3(KwvB}8swaOcL4UX=pHsqiV$V|lx?`cXK|3)0 z%OBGk(=cr-(-4`yOT#gpmHbZFb{@mI^M=ba38d;%_w@6%^NdTlnQ6}GU}mDoARQ+$bi z8l%p&2CmG2oN-<&AWe{GU+Rnt&$V1xe&>ITPc3;>X$?&M7nxp`={Jz#Qo_5RbKrc> zLkq63p{<8Dtb79Z(7v;5f#LdPc0lUKGQA*L9#iL1IDSZ(y^v9!1wJ2^{Xoz|)VP+SA?h47A763e)MWF|FGb(+&Zcj;w=e zznYl-osDUL2d3M6F@5Hb>4LVH{_c(Gb018bSuy<%#>0`f+{Lz)*njLQq=g} zIc60MkJH!5;oUG?o$r^!`7pe};hY@44a21zet>k5_(6{OO%DGKX|ltIcAu8U%fV&5 zp@*3!Mej=Rymu8ydua_JJ?GE{(o`)J(y>OO%rgLntzrnI^DL7f-KTYdI`0{a zVE7Oga z6>vY!WPRmbxpR&cPP=)2V3X^WepJ^hvQ&4*&$gD_l4m%dJ3e@@SmY8u{nGe zq~}Z=4znzUw1cq~(%;P^kPfln_*Cr*q+?}%L;UQ6eY3b1S{s9DlO2R} zOL%X6FOFF`EfD*`R{Z4y-!9mRS3}QtZG<}!j`IFadzmhU=Yi|9r#mo>2>-{Z&*Gco z^S~?0eSj&tYMO7+ysv;QR?U0YIc0oJ)&WwD9dX3*pXR-aFP5$2i|f6iZ(MD75E z{k57mv8whc8;hl5)Cs#}v_+-j3E4)e;a7U@CsSnk4F zks>$s;Z@i?Qg!$r&(+v%QhMZJUY(V%r)p_18lJCW0i=RqgW!|Mouq8c$Q$lki`k^o zm<9g(aV?fZ8nS90ug(6I%GX|2N#<_sBPo1SGOx=t_!JFe`P!kJWL}@aW-FBznamq9 zL8=E+Z_F%GrwjxB=W=5fCN-VqMGMx1jhA|$U9aK=-!3>yGND{Ec7@bG!xwaqbU50J zea31x!0A2E8f|I}UppB}>Kz#f-#o}88L(Vhvj34b4QtOl*aayYTQPN1nbzz&#lD;x z1K+N^Pg*vmE9kjYwk2fm7~j^+Xeg&Ax1QGUF&`z|dRj9_5^g=MSxKohx!zl|ic+{0 zOoCdP+jX9M!tV!bNn^p$gLoS@PU@77OQ|iJB$dx_$+u(ENw_?H*jy5>2OqYWgiGF! zEhphxv9esLY!Ak}@j3qU~c4o7= zxnKLjyXmCot55nyGI#u34#Wn{zvLUk`jMv2zwH~x@<@9ozVuCGk4SG?z4c9E!A(>- zBU|(9z{ZoRWtZ^l#Ez4G7+%M(D|=1)eRwm!?yMeuq7$a~_k3T!UaT3(VL^~zAJ&d^ zV{U|Be-=o3JU8Aig>|%->+Cm_^|Y7k={KAWx0f5>H;Rq7mmB6chAkrfw{WcAc($43 z(K^*{0&{Ps+G2Xx{JvzJNFD0U_e*8Vq%zp-Ma%uBu9bpXOboTir-x3fFJpRB@vJ~)^7o;NOB(Xz28FCjWnT^ zw^+oc+x5^d1D@bl<$myZ=(m{NBSp4;=(mJf+*Rym7jKctnvq;O{OXs*LP$=aY}Sk9 z=i@DwvKe;0@LR@mNnSO*#R_(o6zS$IR`LAZFq{W^V|26C=X=_3m|6KMv$*lC=Z!P;k%I{Rke;o^Gsiu%$#aparL8OXH zYWi4STRu)C75}D|q$9j_Lx9;MvTM5ke&&K7(uL(R zbk7|BubC^U4d?)CN^;$^#Qz{$OcD?~#B!uESl>N4{@<|s6g%v(z&yg9leUA7!Z(Q2 z6n?JM-8{y;JU?l(|8bT|nq6Y2{|UzMV~o%i*7IxsQ|yY5(r-OZ_@8Dsf|P!Zy5N6? zEe}DdqxLy=M9OAqRr`DYbL=!JsP-e!B~l59ooBa5RUvks{X`lG$J7h#A0^m-zVN@m zN`&GR3fQp(7xP=@BW1J9%=pj$TQ-Rl(7~O3%Q8vFrn-WzsdAPQ-l&_TYTnMEd!#TA z7xNPPo%Cxf6mO5yOS2r=hMFT)U@4L3$}X|_Qn+V#uwG&t>?&=&%-$+l!aOQjudcepV^;Tud}VB@*ZBGJ*0CR{6NP@ zw>JcXzLkRWrTMPx27669GcVG5gOv@(sTVrFTa2;Rq=k!vybl1lF0&wrn43z00cE^`-TD*2u2u)*qOsUGuCzvS6tUD7Vyl zpCwD#*y>Ptx105~YmN0G8*LX{qq8Y?ZL&UM^X*#d@C#dM*A8nT+bX5Dm&a_6idhzJ zKVW^#4v})U9|4_GIW6Veow7b*1u6zh;vDFTU01D7;rblsw!m^A@u2yFJ(g0->;=;z zF^1d3_tqDzx>TVfZdor`T~fS9S@>E=E0xnyHpInz#e7KBL&~yOEQ++M_cv8uvn0}% z-t!y2W`juk=l*Q{gN-7cp8FUyk<@lOym7^5ks`J`gI1Bcws2*CvTdYsEu2BeNo64R z7rRDsgVsEN~p!?uGR|Ybd3D9q(CG492oy&+-Ohdt*^HOJcY8 z)_>SHr2gGLg7T#b9C59DU>8Xz63@7NU^k`IZ|q<80||d)|FS|Uwf_ENj&X7da{c|s z0;JT|!?bXz=@1hE_=Yb2<%?S_;e+X<0dCPzj+DIwfvU~$dX%nUL8BV>l zmZM^z;DFMadm@%gV?*ae1(emgk?whAIhE7ik=9Jlf`4SyG)d)LpVcv-f|g3!ytqd| zMJ=CnZ(jcZXRTzi%9)j(C;ayZ%*LLD{21V= zc}bDO!S-uF8?B-IuAPnj3P+1J+DOuHIIgtOO2YsB!TG!3@uj7W=0zGZ zLt|drMkyN$obfWiOFK@w*}xTIA4nBuzK7VO9;%k~Iy}%zYuFQIW6K+C3TUfMkV<0< z79O#-)3%Zth8(eaYx$IO=$!I_K3Y;QRg3>zxX#fsN%b>PtT)CoSflDLkh8j!jn$i5 zE6`VqBHfu&KhRG*ES1JeKrQ}S<36g+x3M09{#qv~__|kY+rR*AD#h-3B?bm-VSQE3 z8{S<4L$rycZjJi}hH5iNLqYAeMWhZ*1_y>|t@>d(8}r}%MPQ`1ODc`!tc3rMsk!!7 zv2iie1EVx|Qs=>mfzetwsWes#6r+tIt%fBZtL0M8SM}xx#%h)Us%5Y0Wd+7-tw^Im z3EDf-{x&&*iQ4#qYICleMx^HgJ3umD#slQ?4*TB*;rQkw}D->+Z3x(^KM{Qt^Ht?b89;EX>0hU zW8AW)w#^Fct}T+Xu?OV}1AA!yP|PXfd0DQ zkUqlN9H^a@vav(6Y6Yff??}^URSX)W<&99ajM(cMG+1*VskC;M#)fK(NRyzJp;|6! z=d@-)!?bpzF=qx_yWTTsxYms{Yj0rCNNp-<@aUMJ(OSM#8ap*jV`DVW&#|11eN68j zG)4=tYe3LgEs694OktdsB9+E|n3m=Ah4w$vQ)tV0?YO<%h@c5t)EKNYjq#y^DTXqxtpRBq|cpy`@*oQnN5@nDcm zTTN;bcp_+)woA&!^x@}%=4h?HP&u!|GMlUAOWBy2eJyCN_J*`R>rT)-t`Rq%(M;dq<(fOG`^@0r71{==G&X*w##U;zQq|Ol#kCGz zsrgIUSiijZ;8j{2DK@lA@M>)lsrKx?!E4}^5jBO=J%I|wm zHh7%|pSFZQ8(TUkHF&)?onn36QiC^Whe^zg zjJ2GGIc@Co;OT*Tv=q{f)!zi~)$*m%*rte+!TYqwqz4J-gZFE0>1qn~B2NZ?t+kL! zXJWnv|Np3$6#RQ(R&?S_<%O`ZRD z@KMcqhH6=1H6>o!Nl*1?j$s8yVcvN4yHJwq;P zsZwd|-g(xZfmuds9LJH?GL%FMMp)(MD#ea<`eQ^{zIHbcCbUlAa3G z0VT`7T`z{*)y_-dnejD{C0o^UE6CM)Pjew%n0P1Tp0=3Of8x&}KWdw$GMIJC^N{=6 zJt-R-82D$%L#^&oRZFL!k0FmV*JVn041c6Gm$I>{K|J&q&6gD26BR`{s|GoNTCKox zHr6DtLTI5@XQk5T!Bsm)-(@&tvw?hjQBG256x>8mP=zlhgS`Kqv1cQ zLXGxz3jI^7yGH4w4-frI%aF3M(e+Sy6uZ^!OVB-vH3**;`c`wv#d0<_eE2NT*tM#b zMDGQlNu=j~nV?xDM>sQnt6A2ma$8%YQb{f=S3u7F>s4%3fGc~aU6IOW?^|vPeWzJA zU@QZA2sVZOqt)H0blv$t=zm%_Qp?nnq4+s<{3|HsljIH`!cUVin`LDaR}jU->d>h5k+|jTu|vEq2}g zE7>wxi>bGiQqwc_P^m(SbyYDoB%oUb)86VK0e3qj;%9YmtDHbcE^DS!r zuq|cufl_LEW%ZH8VrBKC#bV|3v&CZY@3*!VO|QJ(N=i+yyuOSyB;Y}41wF4=PG@~z zv7F9&)orRRLjwK|t)zb@rP|`6dr=JA>7viD=PcE}ioU#9&T9IGVmYhnmb_1O)@ol} zuP&wPtf|+f7}i-+pJmV4rhP3vr&vx`eM7OFuKFu`&Qk5&bg{i?-s|dRrPRFF)qRS^ z>gmD7V)gVT#bWjKoMN&1I(!ry{!}{~=oTqeX9K-su~< zw^&YJ{ZX-;zIw0!71iRWr%0(<{Ph17i}~xvi^cr)GW(0lS#=jFRnDp}E*1;WbBe_R z^xulb0`)h=VuAXWuZ!vo()UTJI)n7e2a00BdTl8c3)Y7gi-qW8ip4_olf`18`o&_g zP`&EGqB`5_b){6D?e*EkVqtowU6a~}>HQ9WDmSlvw4QqemB#!>X19;kFOh;j%K_aZ z{k?T#`#Aj#Y0K8F?c;U*s4ADSb$9y&y{cUY+9&EQrEKiFv&NG26pB57{< zvZqvRJ)FsP&~r!++gxnlLHEg5u~yJK(oye4>Xd<6MjG5R%c-O8a$4oA+AGVclO9F- z6Jnk9Jdy*%y6BDtD(A$WH`{mBeMogd-Sjb}`+a_F-(BBFS`V?F`YY1;Esxvx(rcel zwfIA z9Hciq_emNXtiL3Ex1w6uU_JP}itT{D(V_Y&QqqVlr(ya_(vvw^PQ&%M3o2(W^nZ@f zr<3Z`tQR&?uXjVNyUcD47Pru=SpR;7h9T!jn}VGjDP77HbIZOta45s?iZG-r;?UHU+g6P z3MqAONZ4e3(G``mPL-&zDf)3zH1yM^=@qZ4*s}Fq!lvoBNR_Mf4olZ9*HrAm>fvEF zJx(fvx%-a~o26%7#~5l_*c`p~4VCj1^dQgGGf5|)cX^)vjI_7soUr+Nqnj${_gj{P zEzrA>>epWzwouO@mFu}DEJMFan%3u=u*JG|OO@NX$kY;VX6V zotnBOuu6E2UYnE@=oY?8cPAYWY7)L$Pa&-iZWX>pe@gl#plo=q{(&?**f)Hw9(7yQ zxgn^1_9gR@;T!cQQW@;>&_3Z`=^vzQ>~zl|;hXfAcd!;48`F18 z_-5VbuBtQ4bximceJaWH`Z9d0KK^?Z`)u}%@I0N}QyRN$M)-DpDrt7`yzm`*uOC#* zV{umaPM!Uzw5e}S_%1z_G_c=S;d}HlKdIQozPrNr>9y@T68^P5lvLO2Z1^F);eD0! zmz>Mt-{@aGP?`vP+9Ud5DI06i>rVJlJ?Wu}T@QR1eoTKPmB9u~c^ZCPkNR1~nyefX zep0_6g~#{T;ivTPl~`Z@zr*wOMXu(r&Za>Q)^mDhp_<-^AQo|6zxb<)O%F69F6a)ARV*~PRK!Kyoz%;}a>OM) zUdqPaz|=46pOd`diKQ!gD(T8{9&%Oxnab5)TQlOC&Y!3{ZEG7w+|av`64%s>xTPN_ zoeOUfaa(Wto67lDcp$s0!>vmAgQtrkT10%Wk0iPII#_?upGnzRB24c`z2Y;>nZc%Q zY#Z^D9w(K?N-eiW+}Ed)5|_7+c%bKze$Gvd_*s8R@(u4A@rxe!9BZ+$IsJS?3iVvl zQP8jY6{!q%w_l%#$NHcbm=o@Z)pM{u(Z@?cf8Fpw5x?ore^;?S-XkNP>TgN^`h5}c zOy@5#W@Emvrl0FLY{+xk&%_H-f%d4$S ztCS6%HgGZj)!UQsKJ&kN49TUgi}|0POsZeEEc;LIMmpZo%lc6tL>kfNK*UG=ODT2F z^rJqDg!fE8>dPo6KEc3@^HS;#Dl`62F<71sR%ST=fpetpplU`9DVrt3i-&4PJ<|We zTfvv_n<+uL77>~eL@}Hr!-)KpGxunOVIlY{wVAYV`Oguiah=Lx zTTJ5_38!uvmET~i3mvg#rr}P)wwOj&sdUT8Mi?7S!gXXCQ z*!5?Gqj5!v?SXrkC5$G2;`Gv3=Sb)iFglSk`F{~5jEhnQ^2vu%#$_q2(=oD?ao?^A zk!6inQn;pTMpiJ&{)Khg*s?Aa-6|U+NzI%Onw5=G z)i5rS(!H&bHH|x@EblC*n#Mz^0?YcruB?{vixe*1(8yYb?){}npcd)t{c`B!Tf~byhP73>wI!4wp9!TZ0A%lBH*8B8(5LjnD z;|bM*`+|DLD-!Mt>KX4z_=~G==Ki3U`{(wLY+zI%ot`@cRGox-jfRF7 zX+oRPkqwOwq;&5Ik&TQVq%7|#pn+0q|I*kPLBjn@V`Dt!+&12wH8G}=4vmNBg^k&y z^)B$`VPhF-uZuHi2Wd9Mni)q(*$``HTqpH~*k{H=(m05HX1pVn2!$^_8V>)cd9M}f z45~qL+v&>Oji#j5JDov+r2X)`O$#HQbOD~XX<-Z`y?|ItV;rgE4rkCjQu+>fbJbW$ z%7vJRv70n!vny+5oFJ{->ISja#$(dw5NmCGBpra5r&0EUnul*8=4mt}tzYWO z+8AD>olBiTv81o-z&(AV7wJqLXV7?3j~w{stTBf)EXNtNo;0kTyp6v}>6={PzlxOjSG9A|CTCDxQfqh)$=C2Cg~4-3zD6vmFU*6V(TDUo z%!8kiO7ex6zp;cA2QhzRHz^%rR^u#b3B;^MA!*wxc(2WPM>?^}8C32+)iV6O2O4!q z_Bq|%vQpNEDUDN=9`Wixyu%{ZZQTKbHDckqn+B-d5$Ao!OUP^Zn( zbd>;=mrA$%Fko?Hgi(w1e!wzNL#Z@Yro0CKPi!KUyHm~`w4US^anOu3u9G|>&bUMx zKa=*)T@x8)JSCl;yAf1E!>JcKmRaMYNI{0BO@#&Dn2!T5>vFT^?;FGx;RoIxDkSHpE11MeJkGAfX| z?{Wq;BI%vrZ8pP;RJM~dD29{@=PzB1UZh3Uok0_%3LWux+trv$!ryIIV*}-E)CImJ zX6z?25qA;cun8@t$&ifZtdTqa;_YF0tAfR8LAB8+#fJr3xMKDB9C# zO~RvSPs2}@gWpPCWG`c|DhI!guOs^!!&J=DuPqPlYm6n0ZtGy}YfM%-<&mHE_A_4FbtH0tQ9@v=)iHIDQ9-Ie!>JE48cV6Gf(l`3?6 zuncQ~|853tf%D{LXCp@%PgG9J{<;`@CiTE^Y3*wedqW!Mh0+{UJ5^gMl2lvLrPNvT zNMoLqn%*cQhlJA`Wt^aL>E1kalyQlavBohH z&ih!SK+0xm<8~`zoN=9ExV?-so{{i8a-8Aqq?QD3XXA`O5^iVXjBpYz!7q$>(o$Gv zUl>UwT!LR19ZBoGo<@FQ^pvt$JXT|DI4KzRC|?-UNedu0-dI9f4YBdY7E&_ACKv}u zgCI7+xJ25u-jz)>?vXC9cLu#8y@1%4#z#`c4bGs7C2;=WJb43riO{G+8Vj*hqpcF| zQ356zVRpTWoNR2C!hO%*kyDKiQW-4Ek4L2&>?_95vUNDg{q(OmvQ#Z)~PmTBLK-!cW%-rSLeNVHX~! zi-gDN#r7B;r;7=;r6u+lZf8ZpUvZJ}S5>6nvWmy>`lu*|+ftF{XVr)*QmWrC#cKKg z=}xL=L|){bA}?}IYW_f+s!PRBiLgW3AffPdkl}1MZzOxk??4kZO@5E z!y@4^ZmB(n$G9TlbMVXTF>FhbaPM6td}n02Jttl}6$yK(R@h^BJSq|%k5<}acswc+ z9*=VDF+3g>36Dps>@hqZ6$y_=MZ)7zk??r5`cpaaduoHIBIVY1k6L4o<<|F!T3bwE zQS0scY*JFxM!RzBcaQq2m{OuP7t@%it;Tb?mD?=c;VeDRc&8+PM|no2Qu24pJ|=by z*lt)!J4b13htZ8x?#n4rJB+VM^E_ro?K19>Tp_mGXjK|($zT&FFNoS}jFie|GbS&M z+Gi}1!u@=ifd3gArPA16{<%^6ja_zai#lK=l~J|q^Ew#yjWLvTr1r_EBgS-6c-s`; zW5ztGH0IeiH|n@iy{szt)5Hr=Cygnjc^5b-{Q{>QL`V)J4M!t`xBEqEpR3qAnQ+ zq%xRg(8s7N#xc^AL6+#N##zew)U8bPHKT4tHFfvw8qqh6E~Mps8bp6*jFd`a1$~-D z-!_=D%DH5SSM*(@lvII+>;0b5$gY&A9}Pdd#zfsWx~X#V&Gm=Ino3xUS`QD6eNwm{ z0-}F5+$*bj@brp~{>8{7{nffdbfFRE@~NHOqklE#N#T+Yh<;++sHVzwsyQ(FsbQ_I z^wjP1=;uaK4W)uUQ=)%2PD){`-J@O^-`V98^@s7yuCS;-4Xq}Yv&pxL-WraiUM=AX zDWe=|P|LFHtx;7<_1C>KYN!}&XXmW%j0Seijec);D?z_M9Ul z{xjg8Cd#Q>{TGCOGY;$Lfk0LdOx5eRK$dTqmx-*SWBQ1#(pt+=< zp%+KzOGqD~7f0tgO3-TfKOX!P#r_BHMi~48>1d72XoKG%m1^r^a(<6gt1bNhI{pjk zIrJwB{+#r$mxERCzeop~xR@sYk94X@S!QyFT5@jX)E#&^C5zQRGt_}sA;tNB5#hky zisiI$4|~o9p%(6K&p9%}!h=b;Bpi7Z373Q;PgauCbK(Pw<#ggBisf|T!+F0P%?H9svEh#icsT}&sVU5n{Lv>VS<)3fv(eIvRK&mrNNcpZLM3D)~v zh&i~a-{!MP52EYxGD;Bp71UG;uSE|=*W;`X=FDKf_`Qg(&&QBD4}KBdkRO)9oF}6j z^EXmyEVkzR=q9{XT~#i&rWwfAcU~3|G`y_Z?KZysB>es&;oy;>A**k z!sCy|bmCJ@*vWN##v5-csEj+ChuYf^C2YnCMK`zMKPNq%Stl0ycbcnqx;E|+ z@CA1!Est*=JDz_=IuP#{JCXa6CdNm^rt%J??6~;YNqht;FU~J^3ZG1x8W(I$<4Z}o zxxHei@dG4t&cN7o{u9Y%&a~JW`~}IwYeno#Ue;Z;>~Gh#v9ov^(kAc3z&SjWbObb) zcanmyLnLmEoyU);7;M+@zpeObDb;VYkbg_U{q92kTIGcPg8i|J_I1QqR6`W3%`plIw7|=Hl;24~P8=v5u`&x!1#txGbJRnl}@!z<53>cBWHY zHgDJ(a~4?e>NA^1lkf^Nn-7sHbR4-DW3x#AWK@K52c%SgayCCh!v5rJ{sRg7lb7;m zB`z|7N0G2Uc_p7p z!v5ry9RJfCE-(sw&nOnSGJa?kgjZW22CT~huAv4ob&=> z>-g8Cj}2VedVY>nt)VmMAqnqEZQyT6cu#5rFXe^PQ~lQ)IsQKl6ke5Ym2KjqNQdB_)Fy6|Ds;rF`OSP839sfi^WBsa?*nb&r$~4oXbZnb zI#$7zZRJl%XDc{^w6MCPg>&%SFOA?X*;}cpT{FfAywhO2k|bX zWVq+Ho#R&oaalKl*bY90)COWZcowNij4Rv8H;{Z{oI!_34PpK5;ulHnVEyglzmSa1 zu534dORCh_8C15Nn%=AGu51slMdCG_L9I#qpw7KKh;$0-+{-(Wy!yMceS9D(vOjzU zi%%j=pXAE^$8DsHNzR}}q`?r|&zFG}K(#qfMSpU3%P%hVFg=VPSse6V9=KHqNFk;npGAXT8zLbPV(Qo+%%87TEF&N%#x6#gCKl7jTQ8A>nrR9lt@s?d&`LJqfQr=3Ae~Qyp9xZk@p}LCRNCAtGoN@imy~pUmjW{ zE8OS0%ac`3M-}TXWwVTgr!(*J0a9w2ea|P5@LKzOK2J)0k?4EAo?`f2qwo1wB>b+? z_k24k6ZVSt_%0H*`W`?jbKAJ!se&beZ&i zmn-|3e@AlI?F_n4!mH#*{4q(J{43}cY1gD)ali1tNv9_b0O^717cgeru((3*M9LWV zIj92Z{J4p6zw&CNC*!7q>XIJ7({GP?Q_|}$OC28b)}*kpGvl6cUsCU}^Fg7cMX>Gu z#$!miu=_?P+P1_QG(id0CVXF%PqV9Y+;g5m zIXl$KjC;YClX})#0a{0z=(#rTcfOTm^V|g5OByh0N8C&P4Qb4%uR-~wBf%%)Uh#{h zOTlMAH%Yi2Uh^MFxE@~fLK3crKllq0u7^MPTN18^H~b?B*TWlb2~z6_*TbK@ED6`c zpS+5aocF)DRVsu1;dv?UFTRd);ynDtw~}xk{^EN{xc=VqZ%DZQ-tv6X`>{9T-tmj1 z3ghmAZjyGv`um&zKso{I?{8kHB-`?yzo3}b8=eW~A4s?!-g6$T<_OordtQo^QtLt7 zKiru#q1LaUno{YO@k?IBec%BU!!`DShm&xPec*jb1-;=ZU_OL&r#CzW%x92rjs3^x zlW>jw$FoWM=e~*i$XAn2&wUTtM5>jp#WS&!3Chdl`62{9Whn6(OdF;1W!?RGw4? zRF8BwwH7E$3eLe`8`MQI3AZ|3Od{dC9d&_YuH}p6!0Y+UCfkH$8cS2BH=L{%2CefxmfNcsn48x(CWA_Rm;9P7@JC( z0$&Nx#eEWf?M)Zn;VLJ7?M)ZKQtF(@5F_pK4KT!SQtF$&Tr`f5<=7APj#;?yva5N# z5Xqz$^;*X}h<mFDK5By3FkvUqRfE%3xjQ4hB7vN@E?`#>H0@Eu(M>>2RKWGTK?h z*mWVgk{E2)!RX4uCY8YkZAp!H5i6zO`wW|G@m0k}Qf_@)d^NGt9_t=eT^zK>x<}O% zH|?Jwt0j@WX=!|YQN^w?Q4K^LQf~dF@r^_? zyT(K{7UA}sYvP-VM7!Lhnu+fAoNMBni-C5zN4bjy_MDsJTZ(0N`9yh$b@rT_<6Db7 zyL_TN#dUkm-SJ-H2fM5*h$>BYmK$D&=XZ#R>K~mt0-gFCTmyW zY1dMRZX(#O9oFumzm)n`U{5iOgy+dU#W*STg}h#30>$v|e=m_n!t0J+VvdyB7xWhE zr0~qDEbA?HOR2jUeZ)Z(lUFEx#0e5!q4W{wNq9xnS6n0YZQ#!OiuY3Lsm{KlP7=;- zp(9>t^c5Z?ywd0=LP&U}(NDyXuz#?>82>2-d&T}@B?+%I`ilc3ywd0|z9-?8Mt|{0 z%4Yeyn=2b2UXygVVjmzJlI4=Ol-%sf1`20VC3pgQplD30T*H;62rrUb4QEg^sZRv_ zp9;~HG$sO`;1eTBr{MZ%u$V%+2G>V}MHUIK$A*YaB)lFQB94>rx@xGnM#Af=q2j3& zuA@!~@Z4Vq*=mr3b%ZEuSD%ED!bb|<2=I*iT=+|2xeB45ix|6xC5#b0r0{Ow*o1Ln z3@Lom*o5)of22b>V-qHdi=?#3u?eZdsiRtEcr7|vlqca~fAmbn2N%M?L7ilUcztNg5 zrjzjcAzjQReOC?szpGdvh1<1*b-LK71Y7c?gc)Kx>Ga%m(0HR(CT7KucXcV~DWObjL^K(Akh zm_-@{vBhEyX)44PizB4_RpB`+af$RN^gu2Vg`@;nf0^PfDFu4ZGewy$s%0ynT$ZR$ zIs)agL@>z-%4LhLq|cySwwRyEeu(+Ok%PAC+LsT9=R`3Q4EuZU((1VgJM`;onuw1NKj>646rX3~;p=O~Nz4 z)nXClT;%2l+D=;S77W@?%7fS%ah-GsVr#@b628-vD@t}#)5CX~azzvgdn$R+Rm$F%KANiHIMZ$gLSK@cdiO<4q5+6v|i@HgO9@tLRZ@O7nNVqmP zi(DyOM@JGii;Gg~9ja|2si!Old(5*5+eAkxo27)6hi(%+N!6_mR(yB`{|ZWBpH7}g zkukNG$`eziRBz#qPdQ;Pbv9v#m?dLsJKG^vkg#PtL>>vZvmIh53AeKyVn69bedvQ1 z2c^_@wo_bDl22;y61PdX7v3cvkoM2Ll(1VoA)TIk1N3Pg@SDYZ#A}M-ou55I>!r33 zyz{e1R3_mas=cB<3GYzt6+Tip@8_)h>~-Szq4(Q`_xSdU1esI43AtZ%p;}I~bAVW1 zihYv~eehxo3Ey`7S}Z5w+m2t0JQBX`__eqyrIy6k;=YolNB{2=4v5F3LH!?qUXfxK zKySUU^j7odwcv5WLE#~#t|EYEzgN=j{Kr^QARZWE`)MJe?LP=N^VtCj@50aPGTNtUSJ-3r7; zl1o%m&<@gtD0g;7d`G$yB|!H{S7HBhR`~Q&buOA-F7d3`KysanG1gzj&cRjdS<#;~ zM3!4d`Xk*l@~rrmgxkbf;XXi>o0DD*>Rd)jS%I-Pq&6$+L9E+Al@qs@v*G}0?5ySx ztC4~+br1TifX{VG;r4k}^djLo=2u4lZ5wgZ;D?@c>ngMU_(?p@twk3qC5%TDZC|`NU3|f-w9t59)Z3S9VjQh zQ+QjXkno+t+aisG?-bqHRxJ5dYljHPJ{6q@hl;fnCk4b5fIZlT8 zhJ;UN3Nv^l&O;g-mzd=w%uS>bAk(}dWrJt^;^H05H+FT5x0qE&$#T%Lvdqc!Qeqq1 zjZG|J=165QV{d9=N%NUq^=p?htHM;VSH&z@zjhh3F6r%_^u%&zuv8iw@s*2N!Ms4R zgInLQ`5q8UKS4p|5qCzS#JV>L6;*_=+X>C@IERyOC2 zQROZy+W@LKR_PmfI@86RCzTEJkeBFU9+1j_{>c4_Rn5nwh0{(ZRyQ-psd@ON?a9QN z<|C!h#M)-S*82>_@_*eLFK#$r0b7@-}lw_zsn~d69%?B|hd25}uX#nD>?BdwjlT z=~SE^{)*j`e9da4_X9jZb*0qZe?PMU3E!*pGaHle?!TYeOiJDT_cN^|Jc|06LrM4y ztDm`ugm07inJ=VlmU`9U4Q=yp6|>-dSbtNSge@zu;C)zsvndJBsI6wYk|UlqTTL4Y zuhp#PY!aSzS#J+_A^+`)g*ks z(Q2+G;oj70?jqsd)M|b&h2LN(#jU28jB|v0MO$Q`S<^1xq)^jCDqq9BVx;LKRiNR! zkCCRoipg&`M4Ig>hI`CNvxiinBi=oZGzX}dykdwnKPTb#5@}8(;r0?`&LrXX5@jwR z;W~;oSCViYMVsqLcn3Vj+)2Xq5Mv%D;T_u;^Bf81J;uB$h5JDVDEC^$7|v0w`B4i0 z7h0KsShMsLTrNvkwQdnfaV8AH-zkSs-}!;@WBEq(9pwCUr2`RJlAY zwJINo=xka@$9JKcl2UVcXlFB$y&fX_C|f(obbD_K|c% zsz#b>%efL5^Co>R)rI6x8eF{md&SruVEZyEooy}o(4N2;1X4*A2sk?c`t|>`9&G&ZAPU>wsr^_ioElZO6noXrL z;C|z(r2giSIT%Z`oSU&3^n(;`*JT3wn&Lf^z?tG|;R*4`Uf@ z{kEe?DdtMje4nF9gUo!XY_@OU>7>Etv-zr);dQsc{v*vWDXjBB(kSybDS6=2q|eQ|i$2x)CTWa0K0}qOJ^!Di zv1ZA|DzyJvFX^xb__3%aVEVJw~mGg0ETJjt-le9c+Zt^_S zvK(W$lrobSn)gV_16Lv~XK& zuCr@<@)9%8u6@aw=GS%|PR=$@DzWM%-PtnpJn49e)eg(dYf=TQM?;L=l`7O`FUn6| zX8uO8*^7MHa?^38oCnJfdoCoeFsqQBfO5>HQmS`(wb@%r{Wr4J=5Q&S1>dG#ZKjee zLj-6p3BU8a#$2uh^S9Jtjk!*Vy{{`+uDO?F8`i>Yt(i}H*h{c==2KF;-8YlhoBt`v z>8&?Q=3uLB7M$LCvzn5e!UnUh5?dJV=C;vnM!H_6f!kN6C+UweP2Dz`{-k{+TDWaC z!${>y3bw_JC;d~((`~ESg>-qr8JBHlUsBZW@00V)Nu-xwJWSqhE|!`u=WmC(fnqpE zJIy;v&`yo*GN0KcKx~zqBZ!@G*=^QWlC|tHy-2q3y>5HW?xd9P$@TV{DWua2&O&Sr z>1>(JZu`v3q$g#52i+!3hAm{D>9tx;k6ka}&i0vB(#uj$lJ}XtN##m!H20Z9Nwa0S zv!oyXkGwa5tEyW6hu1#S-Wv{Z&S8*AWl~VdksJ~Wjm!bd0TBcg6U&lPi&B#eu3W=H zbHE`(#l$JGG|9}UsL;%)>_%lqg-WJHrA4JTs`nYzf!!s$-TVLlKJV}Sy!zq0p6|1s z^{jEPwf1oKrgY((*-K2{zjdj!WlC1srvTEGN{0PVY5QKXyGMRK@mZTFlet5$9I)Ld z8TQI^wtUI3R}R{GZ(&R9mFI2ol3}kLvSmHNaUtGMs4v)ZB-;e(s%*`YUG%hy7i~#f z*%JHjC0k`Hvx=8(mU4I8>50|0e98Lt{chqbww;pg==0OWS8d0M;hV>;;x(JL4b$OK z)iSZhHdeAJF}9Q=wjyFUvn%3t+X`mdYqP_FZEKC|H|%xWv#m^lFDBPB6Q-VCDR0=$ zNp@HAJ427zewIuh^UlyWZI10+YW&_(tu0Zq57&J@;w{@9l7-#sm-4nPPqM;WLsO31 zDkb}RU1Z9;woAkcMBmcxDgUtb-oZZmmi9?`&sHMYcSUgZ!1e_(e)8c1TQkQ&{f4J} zVC%9I(-nv%cYZwagbhBMK`gzSB0jQp+{NrOcv9vgTNh$0MMdZFDIeJqWL!nbX>o06$B|8l( z-#J_5v+N~p4zjod$kvMVZVOV*+43ZNIbcD`mo~rW$P(J@p_C?D4KuhmuZWAbu!HR7 z`z6R0NVa{(hLnr8&BWGw1pEZ5KEz5T5Q)!7IDwch!$I_WEB*5S+YlO-H_5^3wwcmR>RubV(a-5v#I-# zB}n#hI(o^I?0vGVb;r%90WX;^b2^;of3@8uS+J`n$s z&A27Std6Z_FFK4Ai~9L1%x+BHq*_$VtH|K(c~A$7T1Tuv+_PijV%Y<^InQY zT}W)DSeg7uimE;=+3n*`r)cVW$qIn!>Q2c%9DgpwL#-zU-&=xlW>?c{*yolx-=^5r z`I5Z=?c%NG9_F}rh=m_v_8ok=&s$BF?2Qg+xk<8ngODARY#g!p*D>7^F{2yC6%&Ia z6~>vjTJZ+QbtG1PjB`kXmhe_Z5LxmY*#-4RL!VJKXd1M2C7#vIm|yJ<+KStYx3y>^nWtr7k4KbDgicn3=dd`*Mn} zx~Y{Zll;|ZTA9bBK=l>L#`N%;6s#VX?7n>+CxxiCx43>$uC9|p)lkWL0PCpUB-!i9 zS54}qW)mwAr?z*U)LC6D*{bbN3=LEFwpwmd!_`lj(VQHve&5Po4-8jZq-9Oej-e51 z#@n3xI`|4*q`HaN5qj@Iv|7$_;3aNSv?|`=mcSXho9ahwiNH6VcUNzcY~Yw{C-qRX zTUp|ytJDROZ5rPvqL=!pWbqyPMD$iSNp`$rpNKx{9?5=ojhfU~JxZ)V;7k;!w#c|T z*Z4_StM=nu>Qyi%2B>q06^Qk)Y79{KN_MsgS(9W}bv!?DfExEMr^ESdfSN-L-rKwK zAHxTz2PK>S=>CX-YScftwtlxDOC+{L-0t58*gMRqbqA>@WZZ)2gEtORFBsykQ7_B5 zF8&8^yhhdDqul9RB7;>J@bK@5SLS|r)1BIZ;_xbf6<8QC?uU4_2dAU_;Ku~a1inW; zUi}-f0&yIE@jgUdN$f23-?i#yL%M6#YGOwed>j3>Y757Sibp3;x=uY&hb3Dno_};I zu&*TRe|PSr1oc;9HOeM<_wZ0P@O`x8k_}V46651xm^y-)z<1gYQx_8}5b+&OPrP1T z&*=o_o~YIls}bn)26glY)Gk!N;pzlpoWpQ6<#%yYTiNS@!_}G0L`~3wNjIv`5yKXI zJ#d72#9%p6eMeg2USpJcrZsMqWwiQzD+}@%qk4SkE{m7{ShZU#>+heej%{Vz9cgNQ zE8E~VRs9Ds+#%&pnyI!(HYH}&q&w8!C(tLxZJabq9V^+Cn5QS*sZMQ;J2dGoby;iN z+mq&~TZwV&&Q*7}veyIWs@2S(?#B}ERzp9+9BPy0Y&n8STODQ%enT^VFThY6SY6uXZ?zITUF4cEAN{S7KPQfT0Ui_;eD)ErC7J znMwDnd2A_`-DwpI)e;$p-#g1wkIK003i!O4n)5OF6bW}BtCOt5s>Fl`)R=mX8(Z<^ zq(y3rWVHh>PI^#H{)FQK;XEl{t&r^VrI#kX;VBL1c(e1>d^ z!0)U5P0b}%AV$V0VzCINgWi9jS$?>ol{83p=F#T@910 zSFcW~OVpl{Wx)5`9#Z3p6^LF%T~dqGvyz>h**kTq+CmK8YCUs6>ci^HGo1T|8Hy-Y zOC>u;tX{I~ZpFB;Mz*xAxgoV!Jt|pDU`pzvYUt-&va6?tC#+CoC406aGj)YpPOLyI zikO{Rq9&YWFE7MAn7UpaagN#Jw?3TuxVlp^PhcC>2Fd0E+pPMXXUn8DC8=A~CnX!M z^cLIHXC#}aBRfP4N62?0x2czyiER~SsoT{-U!s?l;emAX^SB~~CF z0n1%#;8&dAJ;0t+qnelIvd`&Br&9N;#l%*MF-hN~R;oKCi%I%5^?-UwvO!6%v_opfcbwm#q{y@v z)e^~KlH$^;)hfyI0^-tMRp)=tmdgW%q}8b3NHz=D5jCora}Qmkh@z$SdVdOZ>aVk*z)p>^t3nCRLO3-H9f6XJt|q~np@M}QnP<#%Nt;19ak%fEfMDH zA4q#wJ<-Y@PWy*y`H3wbnz}meJ$0mHlOi^$b!xg~AHrR>I`t08@Cw2E>Qc!DSghg$ zb+u%V=~nTfx{=rtZOr6A+X;1>WD_Sl#0m8&$yN^BkoJ*!K(Y-3%Yao&HX&n2+DY}O zWHU1M0Q-kzi@Q~(eXO38Y(=+2z#1i6w&<0#dbLTivPG{0`%yCdI`k*%uae={p+8a8 zOIUXt7-b76HFSY*d#^)*H4Djp{nd z4i2eH`&`{D+0h{ZSGtmot()H$te;N+jw z!>w%C;uYK0wPPwiZU@wdsSjg{|zy^lP;Jt!zSiyw=dlrlw!3b@&avV7gi9 z3EEAqY+m{>ZDA`bNKe!%TG=D%!?jOZ*_!kbnxGF5qLCr)WcnErH)GUz?Ds-5^;Zv`eZsMzS^V zTvw`=BH5SlUaB;BkP^MX`zlw!n}M}kCCh?eucc|TC3_ck9+S0slAW0v4J==>A6I{q zp04edtlt`VPq0=c*@coz5O+$lgrykQESYPmDI;AAHF55}7WN;TuH_M1DTXezLtGQb zLBA&^WN1G#6TKhw&&brwW=w};0=_D(dA2euFh64W^hQX=6fI1$kvl>%vb2ek9V!jU zxJAp7tYCCVMz*$&82U_1xK-QU$|5sv(+*0@3qd_HZr2(m8@Z!L#w=|FeKN8J-n7*t z<4&zmvVze)GG=Ra#Nb=Q<%d(}YFAmgw)kxQ-P&Nu@cm$SYhxt)&0~MW-P%OSbT4F? zl07@}TVRVNONi;0akut}WZ$O^0=8PR$ZM_x_PAv02i*W{t7IGJjs~_{vacr~t0abX zFSgvREu@c2^1YW_txz(&+mfqQ6T`EfaT)h&4aC;My_eLC`!u0q{nl#dfz8(|*VpWa6IH8H=?WgE5DdaOYq{Mxi#7*jc3}XiLTt z?J;5n@J-#^kq>FlNVauA?#LqTP02on?4UZ)&eE#n|CN*Y|x%-WnX5LYDbBkQUW2}X6-9tXO*?^Tjw&ZSu*?uSDDt-k;}Phc<#tD zO>{z5AnJMI z##XH}F|OY>Et(kC;irsk+7M}p<=mkqN`~d!p~Zx^m2-#IUo!05o!UTRT-%-62x2_0 zcWLt@Fx^VgbhDDVOIt;3t+*8LnYmjlm+WLmzsw4)MzVPs9W(c6&8=}=GoRAJBGJoQ zv9VjP%%`;k$xe10n7LQGO|oN)hGy>5@>=6YWj>>o5?ey6_I_=bWU&K!i~ZU@$*vh- z1$IcXLDS&gnf9t=Bd1w`y(yU=qq&2c$coeJxqZ6nLgv zvqxbamS}U!CS*RR`AN2@EDcykV%QH^nFqDu90zP><{@piw471|Z%ff0lx%#_-I-O| zL#>tzfNgGNig;10Xk`VNFKREzbe;AUWxk{xA+}hH-M1XrJ2LKDzvpc)Yah0zTa)>+ z_M?njw0%?NE84G;6>TpErgq^Pt?INX^Ht49vJIWefdxu-=Z@W(uW4bD&EK&PSU1U{ zABOjpXz`MrTzW9GMw=!Xu8lQXu4JyIuR`2ol0CE@<0>SZu)Y@J-X(@Ds6gC#jsq5) zUZaI}rE-eRSAURsL@Q!OW8$cGT(V{1@LaQYi5a9joO)CXiKcYGtl|x=H!}@?>vc@K zw>9pw%wyX6R%R7%YI}(BZ@p@@XC=cYFl)7!B*XV-y`>$O4Bwyimi7ZNuESf}FT|Em zes5_WG2GU;Qog0RB*Ukf-qJ!OJMhTa%(t~j$qql#1T0pvJ75gHqg^A}gHzy{XYFQU znBVuA$F=z!2kdg@KeS`g67#Fm{vjFWSEqd}nKwMY^uBgRvd-733GZu7lHnJtKG2#a zdl|mA_JQ^bGsr=i@}V}c8`lV*!8)lWNQTc~ozzB3hF`(@SQ{tV26$`f$J%7c@Y`hd z+AWfu@A@LJS&}st1lm5)?vd=90*ClS%abgnv&WQAwL;0Jc6I<;#tcg4nDUucD&xAq zIBU=mqlzZ*)!k%tp*wd%9f68>b=RZHR zEiR>V_>@zcsXMj{_Dac^Q(8E&B^n-^r?qa9UGjT9@U+&K*bxoWozbr5I7k-_>;`F> zy6 zR`G@Q54Hq$IQ5+NRV!1(dCk%TYs4$UdCi{~yd@51l=E6g$#6zFuXU9SXOu6so|55= z@})L_80Y?#b`3Giz1Z@Vmc^F9g44g&HWB0ezSW-QI64pbR(npeagT?KZ?&V6Ss%Y< z%D39rlFc5F2^+($>O4(n4;>?>G1D}755WbE5rRn8^e818^axo z-fD?E7Ee8weDZF_OMkYN)nxeSRm6BV)}^LF8v$HaGv+oeGnQYcizwY>2btXiw`C|4RJZd z&g%DW9cK2|bBUeOQ?|wle|;@6^m)wUuUE3A(!4WV1n2>M(dStuWFx$LSnootK>Psv ztN?wwjKf`5fSyB)M|prgpBT49fSylmvCx#tDFOOY$$n8@oD!(7lI%m%ktxCY6?ct=}LmA2bb{+FKt>?5r|t=$NT}^)iEHoW7G7dx_I4e-~FpY_aHS znKU&{KW4D(uYX{$?5}?+EuT`SP3^CLVXz#ie{ZlHsQ)Z21Js=AX*)NA#AhI9$~b%t~a`i;`^8QZd{3Hn&c z?oifG9j2#A_MW1C3gHJ_O}R^KUEjreZrczv&AcUgX!nyep`EWu{aO3|w& zyBB_~nX1=GmTl{rHCeBhY=GK7D?@LT>?d`2))c)-vac;ESy}oI#IV#>af|M_8e9I9 zvJj4{>G}xC@MxT_7xl-u0x`f7%U31F#jfqQwN|=Zo%ogFEMVx>3RsU#lp*)1L>j+mNWF;2Fn@xKxsKuotHI3A8xR` zO&@QtyiK1hEq^r?WZkAumu#?kMb_`k7do$@0IL5+ls6^^+l46*UGbI>kmnm zW!|4PS6?C7W!tM+_vnvFcCWS~>t6i{$;y;>v*zi$C0h&mEzm0^i-BLUF4SKn#&v%{ zKitZEhCZMlC-#~NpL}1Ww-AHx^xm;-SiYVykbA`%ylmLt^jCmg+V$YVD~!e_h=GdhoENJ)rcuW|0-_Wjh2X}-}!8>uX_e9yRSri zJ^f#iJ+PkBvfQ}>Jx^%OMG=uZP_rq(?ZHI3v(JAge@}JXItJ7JYYSYt7F-4{70QZu zX(l4p#U!30Z|oV%{O`(Ov^jGV`e{RxxRmVHm}D!Z-GZ83vrXW+qO2{p*Jk|k^U!{6 z8lyb8*Y9IF7n9gA?~m=VMt|L#NgP_<<_Bf7Y)`CU3E7GtBaw9mtsF^Ll${!Hfbb6>ZY{TH{@8f9ax-Tj!^A8i=5IFt+Nn2Mq? zZ^X8v%p~@2LCfq;h;t$lFRw*x8yjxfJ^=M?eXWQKv)z_ZU&DB~(ilji68@`alUN#s zHR6(U+1O?%>|;zKjoOg?vpgmj^ZjEq$vNaFDi0&K2DiX8>WksC+DeWZcR#+H)h6%H zL)mz=jt|3r>;~x88(VTxN}Jx8N{3pTgcEwiENqn4sNvS;5+a&p`?vL%Tf;5T-jY4E zx92iotD402N3m>evRSq&Yxqbvmia%Gd8D;ZW%U0*H!R6`K=&w`PyNWqv0N9dsj=2> z+2{df_G1!xG$(9$1T}3vqKJ7k=NQo#%cI?>;TA?eCNY=FhOus$OVw6dcP)&1_Q2&t z*({RD4nlrEY?5^ zTLgNr3LY)FccUfRn?!!0+mA`)f+hPjQ7T2;Pc~dOYyp#;lUZXN$(W0YMz~pAT#J5q zoOIlUatzeeB)(nXE{`H^S%~^JG>ON`-MPE##U&gN)28PZc#394mW}=1UN)B57|U&o zM*Cp;b)*&EAj!^my2nPvlQ0rx0M9*MHi(kOGP z8&|j4H)p$LlVF+4!^nNXnEo)99LK*RR?$c{*4kKRlucsQ&2G=`Hs?OAhP{DFjux)n zguBs_Wu6VN%#Ny@ypWXtx* z{y(7pswhMMJn!MUW0q^yl{A@jU{LZ^V@Nna~`K7&M33Ze~Rrr z{Lg9ryln0BZExS+roEBR8 zh~rs-)eZ4S+P^W5r18^!bp5f$z3R1(RimuuZtQ+Lbr**DL(XzxDDU`yk^m)nF}iO;S6 zTsEe~+11^)?3uk85zin@BAWI&EbrNZH8S=E_Xs2VSwr>p9*vgUH?_6EMrtvx_0up8 z-Dg{EvRQmJ5s!VeR75nT<+CtGWBLDF{yH8#aBHw7?g!jwpse9l^4EN{Y(v~9qXz5f zUL`p#pSklHoKeGPLq-kmlPz+E<=8(jtufZ6dlIlt}JRfp-SjKA(Ja4$KcX2Kp ziwJwOXRyr1D|P>=e5LaIcX}KN?ql}8T`1$~U=l22i@D{$Zi%zE``ny8@YNV@f1V#$ z!?`fF_s^CXYZkwCZYw9t?72<<`&zW6{r#TVs7Kj7|FazQG-@*8o(rsHujsh0B z+u40i#496?Soc1GQ*qmJET4I?%;Uiri&qKUYq9a_G4~XwGV1?NWZXr&umAHnPZ^3M zoX_}J-s+EaG@jeCC2Nc_*Oc{KFP6Ej*xOHVJxURC=~@TN#(eQ=l|ommOoC-&?3L28 zH$0ceV;0NrmfP}jYyLI%+XblMD+cb__}^=8S%@}Vou2W_f+=N+bFIpL(8`cxT9a&OdJlwr9&W`9I%3 z7<1uXHfpXUx3}Cqq;1|Xrn-{eX!Ffi)-4vEuMj;!s`a^x}XN$M?iYMZh%)p+}92MN=^St z?fy5|w9R$yXCD4lV-cl>w&F5>I0##V=LD3E=Q!?t;D377`G3AMZ<_<%Gj>~D+#0-h z;4Uqnh578~k$~$3Uz_65!umUCXU@pa(qO$5!LhtQ=hcDb{Ml~*aG$Q7oJQw;OW}7a z?q?OyhF1`H(u1yBaxIMB+;ZFc<<_|KQpAGo=m$&gUVTtD3#_k2tV?z4jj?W-WB(oroFluhDe+a-sW<(r2G0vj;=RrlC1j-@u)Bx-K^cQ)=;HCnc<0`Bv4j%B@ZU1mLN_3(&WQ|egam6e08M?2^S7y#-VJc(nUm1byp>ZFk<@-&nVQ>5d8tYkR{41WX zWW)ZAo{g6L>|Fc1X85Fm`}w-IXE5CNxo(H^Wko)Xz?N^!L=E>EKc&!yzu#r?E~pnB z>D&&}7Gqu`GfdzC5snwoDDrtcE;&CL!nxpeYJ%QHRUpx#Yc~$4YsODa6e)>O#6UOjlr7Hr5F1;+|LeUd+Fudu`%c^EhdmhW>AO=#LTea;IvO&9a=V;cEh1sy|0= zRle82GC#wUI=}519`3KUHgxw0_Y1cYKLy0{jviQYt|{+T`2Hy#q3-*YJl=sb$1)?A|DPUMDvK9-Ym?1l#UE-c z;s@_PvShtg9Q65ju{M$D_-i(*m?4YuSORSVl{h&EgIyxkWV7 z`t`4RPHUn&!feTTnJCrop?7XN!n&QBolcs9yc(zNeEqlVY|%9ys+ z=ttuapQSg+W9Le3Wo#c~yZ!HJD`QPrHqI6Q-Sw6>5C82QBJQd7D+RZ+ac^vtdBx`| zS}dCldnc65bnOe?(n!Z6+PI%!$33cv<{6&D;Y?vR#u|~IS25;NNwcmoFJ6iGsd#P& zqrK6RW!~NKygd?TZ}+v(Hrc%{uuc0i7=7{%lh+aB(={(qeT{n(KB8Ik6xEbvv~)i| zR!?W{?MH}F!$(I2ojLOS&+?r`=!e^f?Qy3KJ5pMqj2>7v&hUfb7s&22aUKc0{_-5f zt8;q~tif1!TE4!@X9Vr-dH);$=W*`eakRHFYHVRxBi5Xtv$i(*kLtCA_5+MYKgOCG zWupy`9IiX>Sd4A*S4LN58kY7-V~^{C2=_Ppqoq;9EykKZA8%LkpKQ3^^>70E=O@AV z=~liA&qvDtwER;B){*l%>enXYuV&nOESp>ASsg8Z|BE5xQ&0HZpxYj2@;{RKSx3&- zC}YpM?f+BRSpNT8GCuL^F3(@_nYXLWUeF!}pG$OmFka*3s~p?{|8L1SJ{9_9lY34u zUKumWd~WjR_KTyiruPDx#b`KcEW-b3JZDcH>2TQO^(Et2x{LO-xipJ%Te(}?B8I>j zk~jR>;Lij87Qo*O_?rvN27mZ}0sPH?zqw#pq|Y) zcMJSYhrew2yAA$kLflLU?|{D?_`6$FEBAub z5deR|ib?6JSe5k_n^FRQLxc*l2C@dSu2fh&l%4Q5M0i5zNnwn|4tg)(UckMS7)zis zAO0$oPVmX=mY2wg9wKL`iqeyk0VSYoJM#%;q!!c5w{n< zFCYvuJ(GWxIUKN`d4a%pU0fFU zYy5fz-=%R`;F~cT6-+x6Y!rc(4v}oa*bEcuvq5v-oMSpQ>LqlH-7Wh}kM8LUI3QvG;C+w910EX~F7}zeyd4q08CXcUY!P4g83t*; z3mRpKg_Jg?BWfhqPP91D+alujM@8LXb!9K>e(Z#efB)QO56Io`*JH2R4;^ zH(Lgo1D@Oq`tO1c0AgRnLi^tW^5W4|fY|=UP?uwt64UMbKL+ITyUU}95>w)s+bu(> zUZp0i<9VpdmzE&qlV@503p@1|LCS?ii2o#fCf{ZaQs%z_%{C6&VVye8gkO0Yq-e9AP}9uc@2*kf%#A%hRO8LdM}-Sa z^|_izWk@vR7)Yet6R9NK=*YrYt4N}JlSxh{%NlA)JJ~0beKN^-yf|QtZN6ch<#zL- z8`8A7fK#=l%CQMEv>@eW_>Rvi~WD zgf(FK*bR?E?4p$~YZ+9AW@?#cYLhyW>qxd!8EU8pvq{dT^5l@5Lvk+3xg@th`;_Sg z;1hl$VGiiO9Qtm=fO%>jXv*|L^A8?BnTx5uh34PvPLD$KBVPU<#Z>n~&wN@w_)Zy@|H(7d6aLV1&_Eo7!PpA4$vwJEqEl> z!MuIIQcP(}0Aa3^GV0?gwv;sGfTJv>?1OWf zRn)+`GuNlWf@@HP1y`#Y@>xkfE6H1>C4EnorILJBl21Fds#VyjRjbId3M>y;YDlgj zxfWzaAX)*jF14i3qmh$GX)CAI${uxQe2*v6L#7)M=y{OxZt@dqGI;K3ZG!uH<1J0%*T*$L^OLyF&fF32+eB-33;YTa_7wu_k|VGd zEu^<7XrD~_WYQ-Ktc68EZx)(??POC=HuYpvPd4>}`a)1&2SpQ$jW+WK&8ud1RAEHhE-|$F-xpO3A*I?90i%lI$zVzLM-K z$-bN{%gM5WEKA6;ge*%qce1P?%L=lrB+G2F%qGihvdkvSO0ujZ%PO)gC(ClOEGNry z&YenIPAyYKsj4Vd4W+7}R27t}f>PCxO%2%;!YmQ(S4^{33CVS&f6V;Ur2G9!NrMRU z63h%6{Nf0UmDhINYsnxirj@P|^j`kuQiCg3F=${nLYh2~`}>!YTuXC!G0mvOFz=1B z6q1}w_7<`!Bz-+-wma;ksZ;RWq>gsQC7}26uONL6$Z!@zaw2)iv0~W@N%kXs70BBi zp(K}r?B$PXHZIhW*Yl50rLrL;*TXOKKse17e^fGq;Qot?q< z?4RmYLUoC!-9@W^*CbbvhZ>4)p|V+M9kE!^CdfQ`{ooEm zl^a)Vv*8*6_wq>}OE$42+ex;Qyh}N`d|8K5DoHkY_VTYJ&!t={^Rpv|nd8VZj#AZ7 zjx|)0Dw1J;1S|DQI9D7z#4;n;Vj;!7V-E^h)-OHHu(McEdsw3zeS8n=?#eAiQgi+%>vm>e$4FCb_d!& zdR@3^q!!yHp1Atipo?@4by3*}Z&$mh%!ltJw$S=}QNbQRuVfEe7qCxUULS9{tZa)% z`OMmLL5k_}kaYo&FXT4333HWxV`@59kX&hN>|yS-QaRNzwo|zIx8#?#LCTRk*TLB+ zdTydoiU>VIb54y7cUCnv9K$u>;ee%<{NOGZcIG746E+go(OFL&p8=7knXrY>qGDUw z3H=B|37aWjL@S(Sqvt5lNBf~{B^ml1t`yDniB)lD9;@Q0h*D`ss#4#nxJQL^bEqkv zrQWAqG_Ad%YuFp6mdLm;yb=P(EcjFav6thdy*BY>Elw>>|4=QVeRVwfk0<{vCiL7w zX9S6)PbB>tEtYUNgT`~`8%n(*#+eRI_KO&#^h^nkNFzB7`fHtp_93(i)b}U(^+1$&**-FlpYpRA&)IK?_{e-+-_d~k`-}%Xxjc<{3;N01S-=7OK;QMu~O9d|_)lh0!E zSuFFyxwJ&Zy?Tj?d-YP1OQnqa^K#OZlcro{4erJ(NMAwv3es1otjAq?CB;@!Y$e53 zQf#HlvABn?BAY6*sUn*yvZ*4QDwS<;Ust8#zOG8$0sA_O2}^4+VQJ^m*WPQWC2Oc& zHB>L`onND3X%r>WygJT=-wq#V!moCZGvU{|6HU1KC(_lhI`GibS_eHo%v=v1;OY>a zzt_VU&al)|n>SG|O>}fLQC`iIsu@zDJzkB(Yo2iSWWwu;i8Rjf4C{2)i*yyJo;<|U z?1X3)@v;m!x)MoKVZv4EqPaS#fAmVwq(xseZy4S`dYt*Ie#>nwi_QWmpIydAV1@bhb*icugh2aW2=7+iA?#T1*CY=vt|CVVe* zu_=7lcuTSArI|-Sk5_JWvUgevgSy$HpgcXT7fpG0cIpjix5N|cJ( zfMwu87e}E~x~PQ`>f*S_y-F8#VgcX@u?VnUECy_(*mI%?W zS`XM@dK|Ek^yf^QKyET^0lZ);2W&R&0K8;+60pUz2T+*z0$R-b0X6dhK)d;QK!+K9 z`kAW$1I_3;)ci7FnE6$}DDz<`Ly{RwJJ!4@Ru%bX^j~Pk@)Vgd-(oZ7yTW`Fu*8h{ zt~b94SPD66q8!p{Vke~4#9opsNj_-a3O-Mms{rdkql*U6sN$dn>s4hz|J4@sUt>Z4 zM=h9dtp)ubw_v^MELg7-7OWRscL8j$V7(eGSg&)I!+=fX=K{&i7Od$d3)Zp4@;0Eb zVy!J!EUjk6THCGf0y?a(US$=5);hpY>j!{g))RnH){}rS)_TBL>!*Odtqov5(~4!w zv0|C$Sh38xRxI;;(&t&R%=v_cWK(3tG8bF1oGU2b5-XN}y%oz}O6569mbK*VIC-lh z4<{(Lo;)-_Dor$7v28C|ah#v9VQbghP}5*TO`{D*eiP|0kiMDpEwJ|HKki$NZ% z`hlEGX;W1!Lxze+UzUnTU$%-z-%J&cz8vyAN5!KrSH+`mzKTa*o{C3bz8VC63e`@4 zMU-!`8VT|WH3qOm#p7|kdKJi}YG1%IbpT+w8V|Tr9ST^X4hP(;js~n$#{wQyCjwTf zlL4#MsempK7)`jdcu`X0bQeJ^0Bz8~@$p<`Z2I_5Q2#}SpR)2JYQmX7_HO|dg6Hiu&8=s0F_ zbsRJEbsRH!I?lcMI*!01N?S~+R#2)EN>xhwGSZimekb{<&~Xg!B@dP4p^7Z4$?_=4 zwItV(e1hb9^3Xt@8^I6E$vVzj7r;gr&0wR8OJJjm7O>HU@IV`j$1{MM$8&&o543l9 z9O$VFKMzb5=JaDQ0rEf(AHaBzYQO{!TqzPg z4ud>`QYCpD19_~+&!A8Ccn9QEk2=5%kBsHYh)%F_xM1y6tQ-|UI&_$5!ALs~p>_7L`XXtz0b?5SLPa4%iV zw|552vqu5u+q(f4+Is>P+4}(&+Xn)!unz$&u@3`WZ@&?+)Sd)bW*-MwZchQ+X-@~N zuxA18wa);owBG@E&^{Zm%AN~YZC?ObV_yV#)V>(7)?Ng7+`bI3&b|upgnb=gy}cB$ z!M+8s(Y_tvDdSJE4=Q3x|Dd~9%H>%bx%)G>U9Y8WgtUad12e0@WP|A z-V0l}!3$fs(F)@=924;xy<**T=Kjzmwd{l zka8)4T&!Y+H?Gbl-Z-k)d*i4s^~OS}Ks)ivHYs*if(sIK+KQGMJSM|GVyj_MQMII8Qtaa1>WV1u^2Sl!;{6(+@WHWd@xigJ`QX^L`y2*z_`DA2=Y!)s(8m`r)aMPr zFrPO8qkP^1tn$G+R{LNbYkaVdM}4r4wLVzK<33o&Iv=d#2_LLuy${y0!3XQu=!11U z=Yw@@^1(V@@WDDZ`(Pa}`CuJee6WtffpxSvu#TDo>u7gi9UTs=qn`uo80dHhFw}uH z4Rc^kqa5!7#yIFGcFddh?Nt)Kxlg)E#u-sH<||sH=A1sH<_{s5|PwQCI80QFq*dqpr?@ zqwa(Q$9BB~$997Q$9AIw$M!h~j_oD~%^?n&LmV`RIA{)W;EqK&aW`Ud;(VexaW`Uj z9sqPWaZlps#63x%6Za&cPTZ4(IdM-C<-|Qnj1zY|u}<1$IWI$9;+(ik8R*1aO1u+y zDG5&8r6f9WFEqmWE7&ACamO;&Y3>b2oD+9PsZQLzWH@p6lI6tROSV&k*qKf*z#OLw zaE`MBV6HP1aK1AfFwfZ)FyGk&u+Z5Xu*i8eV6pQWz!lEx085;BMzh|T2y&@&Bw(5I zCctv%1i+onRKN-+?hp4mGeNF&-U4{gc^hDrGY7ERITx_Tc^}|W=R&|*XFlL@=idSA zoDTz@a6SrH?<@gqa6Sgu=-dQ&&bbw^$@viYzu?>na?guP$ zJqTFtDg@l=S_)X zxn2M~;i?9#cO3?7a2*3|biD(3&Q%B4V4?3Sz#`vufW^M0fGd2r0G9Y}2VC#F8?e-O zFJPJPvw-EkhX8l_z6@C5TLZY)_YJ^G-?sq|`o0HP<$D6K+V>N{8sF1^M}5Blto3aI zJnnlDu+H~Kz!Sbd1J?VBe$f8DR=`GI55RN2K7dWWet;Kzg8-X-I{{wujRb7*jR6#X zR{>i5`T}Zx0|4!Q@qiA$p@4pV!vPcgaE46u!x=J(W8ys7U{D|Ka=!1 zq@Ux5vuLg#&Z6`Ea2Cz;!&x-n4`&aUwd8;D1n&cYt ze3X3l_Qz7i`D3XD`eRAr{jnqo{+MH;Kjt{XA9GCd#~jD{V~(kmDuYsGQL1c8HIq{1 zP^w(AnNK!(WRp)eg=AAiHpS$51$izZ&+GlME~Wlhmok5>OSwPRWv4%`2o?UgBJB0Y z6`|4}SA>K9xFS^fK5V!JZ8Z!Jf^b*f|uN zOR@7I)+AmDse`qqmST@nY#qg(ptSXrwjl&ZMPmq#igO`2Dw;xYR9pzbzH1J_zPl8H zeb*9#eJ4V(?<}F%hFU1LVSXrpsscBJ;5P>Jq4Wh zz%@J!eZ?2q7>0-o6h;c48OVExKnnYb7zziAn<>0rOr&tMm`>pYX_qeM5lB2m#0Yc1IC>)w)7$(C=2xo~`XC+9UCBx}5%$H%A49`I5t89u*fD=~q znX zAVcAj>1CK8!v-0ifsoqWm+j0DQoBi>Aj9cWZ-(FGVEl9$p7CcM3BM>q{Z@AfzuL!f zR~-(1LH`much6ysvl3`hf0`*xkE9`c7$0F1(L55{Atd?Pe48Hj^5tUZwU^$EwNd9Q6Tp zmAXUSt?pM3sZHu7Rnb(fzjlL`q~&P&+E(pJ?SS^N)}Vc*UDhnRj~=66t0(K}`tAB` z{XRWUU#u7D>+~n}y?V8NLO-Wp?QyfmB#&&5J3QullzTkqQRnfg$9WH@XCKc2p4WNa z;F;<<-808C&vU2eyPm&zs`k$ItLzE(8| zUMIayc{O?c=GEOh-uou++q?_Bi@jHSZ}i^nz0dnO@0Yx5ypMUG@NV$_*1NyYFrP_2 zg+9eTD}73Rw)wp7^MTK&K0o+)IQlt;IFcOG9d|k2aG0Et&KsTMoVPn4a6at(hcn0( z>FVja#+BvDaXsSN;3{_=biL&Iz;)Jj$>rg@%Xg{Y0l#wnt+vcDxDARs&-I$&VHjRDgFasuuNC=7Tcpfq4lzzYGj0Urf4 z1e_1J9ANF>>=4=^vP1U{*LRrIA-lue4uu_7ci7aSyu-c@uXgyb!w(&lK;OW~!0v&4 z0|y3P7dR>~C2&^YgMp6(z7=>furV++sB6&dp!yhXh9i z#|1AA-WYr|_#eR^2R8>>L+l{~Lv9S29Y@PN9857lxLHz7_gq=o=lI zI@&vR>eRQ>z)oX2P40AOr}drQ?&Q%qy7TPL>pQ>F`EqARn15JE*i~VJ!mbS)8I~HB z88$s^c344JaoFmx&0*WZD#D%(dn4?_u(M&`h5a064fhW35Z*ET#_-he?C_c4i^2=T z*N1NjKM-CU{&Dyh;Xj63A_hlX7cnDZR>VCK_ebPMJQA@bq9Wquh_@p?i1+eujL5qpb0Zf<7DPT2xi+#ivOMxoDZ-5m$)uNyG-tKPnRWKHg|cpOHG$!UEb^RNtd6xv~*FrhIZ}V_3Ezi zT}O1C(REhWxm}C8KGAhg*Zp0qy1v!5uIu@(m%EyyeWC-SyGF-G4~ZTXJvKT!`p)PF zqyHXV61_3{)##(qZ%2O;{YCUo(MpUXCO9T4rgzLWG4o=U#FWHT$Gjc$e$1ya=5Eez z0o@|I4e54$H(e;g1LhvP@DX0H?0Ab{;e`9FF3}ZsMA0Hp^asrVIGzW=o!D!{XfYV> zq{hQ9=Z1)z#3*qyu(2SG6BEREF$M0dP8Abj4M`Dq!u{3dB2Dau9ne#7m$gb{ir2v6 zn3yI`i(BBn=yY*bWQ%j+R`IpCO*TTel6D-ejS$qzlfWqJR%k-#qcY+Wnzi4Tr5*o zh!SO`*sQD)JK)!GyWy8{$Kls-@4>I(&M2G37s?iKUU@?N48Mr`P1z=#rtQMlv{Q62 zJt;y>yG18cg@`om5z(dtq8t1wZknk|%rLzu9yGlq9x@#fkDFc>8%=MB&8A~wi|H-# zgz0^;)pSCXn?4fTO((?;)5q{@x=+L|Q9 zUbY0V!)lcKu3iCXe|iI8z%`oz&rH|`$hi!-0sUWd%aed}m+u9 zFE2*Vhl&tiUHlE;i$#dvQVHF(>W zEgXAcFkwDndLdd)DfEU|WAA(vhx(@oPYn))*d2GE=Ja(~TCNe-m+LZjc_*;pTAvym z1v1zDt@+r_&jn)I4TSd-Mh-{KAR4RhP@g)ULQOg0=A9_dBYc-||2ovX8HqTz6mexR zBA2sd2g*q_9_Eo{GT}PH!y7S{>oRCR%E#s*axHG1jq>=7Sk8{Ob%&Dob)h_96pp32 z%X@<+ax>a=-Hd%_Y^8>~P~UNOf3SHx1mzp3Uc;#t9#p$D!V{$77Vr*2%V~QN{ZbK2 zsAst@*G)zZm)2(!%G~nY3x$K)+W(pRG4}s_ls=M&e%Kqg$>-}))3QDu>UAgz<$J@1 zgPbxD@k*Ab2Dg=sQ?Vtdn!7v+(hix0ZF_aXc#zL8KyP1eK>uHFz`TrY>mEz!b8rM6 z1w5XO#~PRRacT$7YsbJ;@H2wi?Fqs=3E$g_xdfIYE+91aDbGlpyRq&zI^MbcIrp2^ zP67X=*JAmlJ^^ddArjFz9=M!b!uCfK&rxi{N6KIC$7wW%c}`o?7v~&4#%~)u6Uy-1 zb%;H8V>@3r2GP6#v9aS_poaqpWQ9i2>pf6@?z-I8RBX>^EI;=wmowxxY{QPX-4CgZ z^9;8J_rjfb=R+*_pmos_klEYZ<;5T$EM5ip`LgwZ9dFwNXj}`7V}OsuA838KR8bC= z3$mXC>_W#~%w2myUhxo?XZ1q|K<579KFVE%`gyCWLI0l~o7*R0+TL_*X5EZ(-8RJU z2s_81%(Ia3n0<+6A>%w#>x-6FT9^0HI+YfTn!$t#H=%qj`43J*S?h@SI%#g6f%2LM z5El~8o{w@!CSrfWwL?+nnc)Jh(cBAvK9=}+W7 zYZJ@H(aXCO-o31+HZ-QXl4XIx^7EK_sGa9NY;7LTZ#-}sG;8iV2l(}U-vItNxf!tF z-hTp?)1F~5tp!ihKBuWOY?j3@{cV7MpKAyFG0`9JO5UUm`RsRJ2v{B_pVnzu2KKhB zb2#WKn$yZkE9k6GLga6v!R|3>K33FiSmaz7xS!MTILhG!)E)7OFA z=Yd4P@A5_g8cWD~r?MqjhUb@zh1iGxj`FgM}UnhvsY42*jOZ89IZ6Z8ik zM)`$@=Yh<7!W*~as(SHm)N@~ONsQx)N8N4FIFA{}k}((Kh_cbq5llOWt{u_y{85M> z(AeWK$>Wf7Or_a!>;J>so506iR{Q_o%$iJFN-0|{rL00lO7=7g)vP7ZHl;}cMGVtq z(u|$Vgqca(sJNjQy$W0}n}~>jil~Sia+Ry%f*T?#KduWRA|e+NWpiKnz0Wz%cbQ2F z{{R2i>)*ce`JU%I`*xo5tg~KPk;QARYpSo$T}cQd7fG0>Uvv$$wM@(VyR_U)x4cC4WQ*5ywnH}Fi2M6DN~^e6_1GW3 z^(Ht+YkNCZ+gnNbWz}zeZTVK*6y7T_mfrgnXkT-_6FQpmXgNnEakHh z&{~VNVXIA>Et<||Ba2B|lg!rROe2lv!eo0ig%+cw(AsTO13dB|nSVX_Nx^r&Px|#s zRtcW+YQg@p;O-&8OBMgTROlZo9=cfQuPzciY#%{SaZ{_%x3mbJ`ewnGDK?Aw-PPllG- z^<9#ZOK)>@n62e9AxenUmefQzQv9ZH?P*mqMzUBAai$0F8^EExjX;WRr zRs-C+fl6Ilc__a{YWBCQKaH<78t;qW^Iy>ST`MV!#&Xvl8O?vY`m69QM@G-hNsjJ1 z|6Aa9-XXYD>&|SWxi*f~?6#{kM_2t2_b0CV8ThQO5?HU?pc2^fHFy0lv3>h>(n8i> zC+h=7KYFeB5<13uWSken_GM>5UT;c5@8_kVmxD20NNNHPVC6E#p2HIGAbd2iUbz%{ z1wLY|TP_Dz;wr|9o5tRE)LGHt-W(2X1Z#W8NoOJB@Ldv>VQ+ zL4N6j71WsbS<({oZXp#7-seDG74~|-|ML34&wB&l7rYJNoxDrMD;HqQyNmVL7&lEe zf%mZX%6&mF=H1KsYlHVcAiqb?N^Ao+P)4AC!dh&D_fs(D-RGSF{WCD;-OsvggZFbV z<~_jrY=id;kY8?PjkbZ+*|VV^VkMW?q`;W>u$P7YHOL$3sG_{x%Ij(|?=jYGx#I}N zSi{Xj{|@AL+gZbHU`2N)^fw!(!QVBMgx_#3_%!dH@#`%Ov)~i4-QZKPIq;d->+tml z5Zl;!(0>AX|2+0a=)Zt5@2{~pgMW*i5B@#&Hu(PlW8Obw7l6;k-T}vpzXQ4<{!Zu^ z$a~W93&BMEVlWwhH~bVB^V0E4z(w)Pz{T+^zehaudek*ub{PW=9 z@!P;-<6i_%h<};Tn!y+^V0{I;6^wap@vlL*gE6loeg||X81uT~-vrmizYTWB?*v~G zzYBb6{BGQw2-4c)KY(5j(%R$qK))R1mDKpX;6VIGa0bDcw;}!$@YMKya5jQ5Z&Un! z=*?iv8;(B!y#Zm$#UF+~9gKNr#2 zS@Fl9Uj_1_VEl3DSA#KcEdG1wb3on#jXw#!9gKP7@u#6Dz?hed{{eau;j&l9i{{dYD`Ng03v(PhO%sV&U(9qzO!I)Qx^YN-6FB8U- z(7Ql>MIxSt-UITx*zqRl*Mc$cb@4^euLon^dGRICZvbQ78{boE?gv2K`kq=6x+b0)9Qd4bB~4%==dS4CrrzG4DIP4uIs0p9TIPem49c zg2>GH81(-Ek(u!<^#6d!%=kF?<9H7INqh(VpMuEDcpm&&d?%dy!I<~+_%!qbV2nF% zCGf%cxp007A~WL^@K^C!@ZtDw@X`1j_?!6az{ld}fxnHv5qv!UX7G3M^TFT8-v&Mz zzW{tH{tocz_&W*n8ITv?;}?Q|j9(1O3qi=k_$A<9B_Kro>HPCUG;ii$G*!;#1&~ z#Am>L61RX$6SsoLVz1d*JHr=d><`3;oBAD~YGk)?@0L2m?+rHQ{lZw8U2iNAqc z68`{COFRpID~K#jG{pFwokSeGFp&f=N~B{A-o;?d`;SBucu8UroJ+x&cX?t7^c5h| zAh8tsN)Ty~SO$F+h%`tnhrSw&dDkQkfc^l897r4leI1A#NUVVVAc!1Dtc3nBh;EZu z1$`q(-%qTD{y0eAPaF>Y2@u^TaU}Goz!-NtkB0st81ufAI0pQ3Vhx2)^j44-m3$-gD9GrXd^7avAft2geCRVlM(5<)pkE0xIwvoHeig{* zoO}oLt3gKR7ea3b8J&|CLr;K=&dGN}PlAlj$xEQ8Kt|`}Wzeqy8J&|? zKo>wp=j4^pMUc@sc@^{w$mpEB8oCTJIw!Azu7Zrt$!no^fsD?{>!J66jLyjqLBAGc zbWYv?&HY^H^O840zX4=)PJRsfO(3Il@+RoFfQ-(`o1xzdGCC(e1^sUzqjT~z&~FDB zos+kK|DL=RyeRp3_!oop$K-9$?*wRF%yE=I{^!q{jY4Qi)2a@-I*Cy`;Ka%_rcw_P>xcMkZe@xy7 zemr?UoSQ&q9LWcuZwBd=$p@i71;)HjCm#YolYAKbZ1NHKw}3J4bIC`cZv~lgBp-wR zJjjeA`8f1#AU!(yd+>|g&u1(KW8Uq_r@^lz{{ZK!AbmOcC+M$(G4GD#U!cDM(wCEe zgZ>ssUrzo5`a2*aa`IW|?}E%_k`3{g_q}8sygQi$zn@Hl_avLZ|C3w<-kV$!XN(3J zqmxU)A19ZAKS?eJf0{f1+xtMq=;T4*{mB*J1Id-}e*rQ&Cs%>LOs)nWN*)gWDtRQf z4}&r9*U6*7N0P^Yk0#f^{|(4UojeZuw;&^R@_6XqfsEA26QG{}8LyKq&`*Jk*U2{M zXF$g5WC!#gLB{K37xbS&euF#N4gFV;`AhPp(0>ORwUZ}7{}W`SPQ45|1~O8odY}^^ zBXz0|It4OPrv{)KK}PD-2IvgPEG9Jsy%=PqPMr$956DQJ+628X$Sfu`481?dEGBgt z^noCA=hO)F!637k)HdiBfXrV~XMn3xuYhwX$owUB7W83Y%sV`FHh4s849<}tayXTR zJ{m+0r^ca=0g=P09P}EH@jbNz`Zy42oXUg8r*?vCQ`7KI0FlP264;VD7i>*cz_!#Z z*q+)AcBJOO&eZF`uGD$py3`xN?$n#Xm!!@IUz&Owcw*`T@TAl`!1bwjf-g&52);aZ zG1$Y4SB&qeOTfO=Wnh2m3UDBGB{-P6iu7y%kvXZW!Plm)0WVBl3;!Z8=3Sh+9{i8g zhv2*$r0=J0fW920@274A-;??ncxCD)`0oYj`>C6u-v`q7Q=bCgpZW}VP3ji#1F2iF zy%t1QPkkQxdXQC!)NRlo0$GJfeG&Qw5c!b$GW3lgs}QNLKz|HGKBT?|eG`a$NZkQ_ zGe{p#eG~dNkUq{kHT3b+op8PcGHR#pg1#MOj85GReFw-Go%#Xzt<*hmz73*dr|yNm z6O4J^P5lV^E|4D0J39^D-5@L)cw%+fb{Ov1JL(^jPI!jp??I@yHgKA z{{*CWryhpB52Sae9)Z3eL<3Jf3jF|x2A+Bh`azIBo_ZYmA&@?v`aSf+AbmXbB=jR7 zYZs}fp&td&$y0xTehj3Kr~U-~F7+4i_o=_Ze*&bBr~Uyxoq86|Ga$V?)sUcfgY@nc zPtkaPP9?#=q|)&J3evk%P0)V_>D{SC;6GDKz-LoSK`*@wjHQ?3CJwSLkv;%A3C6rs z`XJ~uh&G;H0o??mji*;aF9OlV)2pDDfN10C)!@?f;o$Q0k?{8i>D}q0!4>Iaz!#*~ zfGg9-VS5Njk4_&Cu1=o-=P;1IoNj?W0*rY_rrW@y(j9P)2InC1J|Z|z!TDaU~_r^Y)x;#O&du6O%H(`=~KbZ^d|76^f0#TLHcI; zG_WU)F6{M!^vd)$=zfr1nLY!05R7>zr(XdMrO$$M3W#=;J{x)?h<21712?C$;Ba~z z+>*|Lr=@p*Thn=PB)t}=?ZvedKP>|dN=sW^c;9r`gP!|(&vF^ zr{4&^I{jvFEPX!lo&%yCrQZg<9Yi}yUjRJ;q8+8*0X+$#9i`t1Jq4m2r7whj4TyG> zz8Jayq8+8*4P6A$j?$Mv&wyx0>C2$YAlgy-3g{|`c9gyndKZYKN?!%N2ShtcUk&|Q z5bY>^4fN|lw4?O3&~E_Ij?&jdzX?P;N`DCYEg;%a`UdE?f@nwS8=?OVL_11<4EpUL z+EMx@=zj-UyGY**{Vos*nf?^?MIaI~{Tb;009n~c-va(;`d09g^yk4#)390Uv2_hTQUxU5|L^h`H0IyAd6TB|{ZTQ!N$dL4%&_4o^A?drIe*z*y z(sx7O2O>k#KLGDf-vj68AbLXjUho&`AAt|1e**q8eINKx`hM_N=?8H6Fo+CEKL|dO zehAM0f@llrhr!>Z9|0drKMMXf{TTRo`f>1g>EDCDPd^Dhk$xI{GW`eesq~+~r_+A{ zpGp4>{6qR5;6KvOg8xi6BpbYEL8L?@OHp0}h^%N#LdQX5MPnLFHa3B&#zkPdaS6Dz zaVfZO<1%nr<8pAn#sk3RjR%4IH?9B=Xj};%*tiNjsBtxTaO2_NipC?s7c?FXu53I8 zJfv|AxT^6u@X*HN!PSi?fQL1fk!lUfNL7Nz!x=kgPR*)3Jy1(1fJdaGSd8N zkUrAb1Lhk0;7o#yjEw`J*R%m#(KH0Upy^cbkfu%GVNJu}F-@m|Ynw*Efu?QXVAC1k zsZFl{-`8{&pt)D3(`WGve4IqjGj&7&>sRBJ)3gSH-PBXO*^1J z3Zhpx<)J?gGS6+=3H=F>HLj*<=ud*IaW$2oKMkT+H=PUpS&%iZrV8}uKs4&6S@40T z-Ee*Z(z=@FpnnO{x|&`G{VR|)qNekpe+|;Qn%)TgzaTB4>CND?P3Ob$GUr1#WZnkG zG8e#!gS3RqJD`&wEg|zxFrB#&Y|LB?Hf7!oW-^z6i!zsihh(k*S7ojQ56xT!uFhNy z9+tTVJUnwPctqxU@W{-Ez@suZfJbL;1Yel>7}%b<3EY&q87yQz1x{x^LmG-8k}7ix z^bClk%G?TF29Z>m&qG&1Bvs}%a98GwaCU>}RGBY>ugiP|d}HQo@ZSU?i!yhB=V!hN z=dB=8DD!RTe*=+1nLDB14kCpzcY*(&xf^_E<_F-rGWUQNX6^+q%KQlY&&*H2OEUL? zmuKz=ugp9^2=4{a$1)Fs@5?*{zCZIYcunRJY(D@ZZ8DESUk9>Ul6egJgCHxVna80& z0@8{yzlZ)PNGr-b3H@;py({xH^vxjivdkZ#KLs)`%lrxYGa&P_%wM2y0hyO&{sw(3 z$m(e3AK(`<&w{sQ8d9u|f~>A&;^3DvN$~be8vIJ83H(}S5pKQ?G8fA%0l%493g=rO zv#`uE@H?61;GLNR;C~ln7M3{({9$GVoO?iYv&>59dqL!CW)=9;%xdty%;DhAGDm{< zXO70r&q3OG<{0Q-fXK1T8qiyG9GnJ_7Q5(pFumvmuyIifxM@)vIJ~F>eC?tx@b!zj zQ%$_;wu(Ky7qJu9#M^F%gKOD?q1`@cnB0fdfaNuRHK0ewpTXxIDSx30$7s@XUd)0RM=~ zlNZ_)L5*{+9T~@%P1V zjNcmna{Qa|@5g@<|7HA%_&?(fiGvegP5ht4Ly5m6_DLR*e0lQhWG;De^8Lx%l0Qv8 zo;)`7rPO_?hf@2dPfBOgccp)xeloqRac$$*8xL#hY}(lL{igeynleXb`ZMLsyD}fk z+@85B^Gv2;QPZOTSoHoypIY>bMUO68viOyY#}~hA@dp>*wD_^be_uSbWb2a2C6_Mw z;F3QsIe4G;eMa_~+h^s{7cYI?(l0H2d}(ao3zn~3yK-dZSu0B`FJAfam0w%=ib0w`T6O)ZdsqEw)yhLh4t?FB*ByH6p+7$KPlxWix@Gm2)pM(_TYcy1 z->gm_cK>1P5C8h%mmcxR5u1+u%aO68jy~$dqlS)}JL*4g(YDrhW!Kn)(&^o78W?$5M-zbALPaaq#g};!T_~p$Eu6 z#u@LNHJ?9IewmAN<-+3M<~2LHS!q0TC%m6tGM{(%j`_TMxqWJWC3N|>dCmXwOOnQu zul(D*=7kr_SK@##+vN*`R=ZL_k3Pq zfq0wMU2{W|*V3@aYvr$vUlVI@ILPa0Si$d6o$PfroaU`-81=gOm9Ura3t%th*S${U zPSQ!-H(Jl%%eY(g@`jIlJq@4pdK*sHv;Tzsy!}q-n4L_x~AJs6_a6-c= z{GH0*M*cSOx0%0T{Cch3>n*e&znwM{nfpy0^}K zU!q@5pE`F}xbKzjdzF3@oHelU{_MWrXxP*wCHjqqxy2ICx19M~n34IIU%5p1-*No! zIR1Cw$CZEUK4Sk}Xa8Mi|6OPQ-G*EDk$U`Y!+VyByYD%7-*fK1=iGhIx%(dOvzy`%Oi$IjvJbNgP-+ePp7?pXH3;Y~e$Nok#n6}X_euWl@lWvmEPr3%?`Qly&0prg+Y|fp*Tdg7 z{?6j>4F_KCz3t%3y~_@MYVk)7eq!;LpwC(I#Nxj~FI{oDci@UA7Qb}GQ;SFWp11O; z#aHw9g_Tb%zMJn;D=+t+COV?n>VB26X4!Z_= zdODgrI=edh+Iu_O+B^Ds2D%2j2M3y4JKH-tdRyDuy4MXfdnc~%9vf?EZW)8zk*khL zvMcMi2RzA2K3gCo8*;^5IX}K7Th31Bs=2bcYEhpWh*Dc~l~Q3>uCG+ARI|mZh7>qy zRcb@7dPct3)+$bC%i|WES#8Z_Cq|~Tg~CW~yqYf+#d}-eyPV9^$v3CS^ zCub|eyK?1ne!@ZyZ3cGbid9Xv@x)(u)L%`C%tlhQsWdTL$Z1w6rp?43B&nrU3XU8R zYu{|8TAJ>uR?GSAvsG7$YA+FWMqHA+*>b)**Pk0NP@IxeO_sS4*ImBr!F;YT5mv(K z*}|-*#2koIb=fYF1LJ+}gw|Yh$Ujb9P2*xj#3Vm&&zL7E8&QI+9>p z+FZ^S%$8be>`J*>-yE&>w$=kSL2oISW^(0f-Zcod62F~FQG0u>kicno5T2g_O^2~1 ztd@2uFUgBF7qvE~ShuM)QS}x|+codXID=-8o7dvSYU9NC*pLuXE9zEbY3}f&8Q3#Z zDpzw8kshmd8k5U#O=NRd zP@~0ad2UOI*fgbPVcAtT_1U#1)}nUm%y+eL#sYV(N~x^PO(Uf9;~J8&C7?ES;L2cg zt`co!W+$%N16L}fGz{a3t&2lPgHSFgSJT?E&eh;1YC2aA>d<9MZPlUg&hI#ZN9t!& zwp^LY7KVzGB`q>_E9tJUxFEPTrNSzVG*GkBoCV=*87l6gnfnp62jR4|bi4E~*k#OC z)35F#T`}-jpLlgBUfPtBY}A*1;G{ipLMepfnz1E}b%6sDN44dvwi_o3rExMbQnl~K ziEMcX<}I_8DX=ut?6q~b_P6!5_4EvO3^aH5we_}icXqaRba(c3ceJ*4wXGZM8|WBp zZSh7@xzsES=8E1T0-+}P(POKtOjI{ERoJjeIdnun5Z*aCa zeol+$kG7-P?S&lX5tGKwG+fMWE$#O0HqRCc&SGewI6IvyJ5ztYGE=GqR_D$#d|Plm zssIu0P+zG~Fm*^{mEIDL-8Gg{8pFlHTn!Wd(=*v}t}I~<5JLgYqlRY*s+QEn#(brU z%Yo^c>KxyxY-MVUKGvem!r|BqO+@OZ(Bh2?NLwAAq4d^wjg9RtXCY}n24gdhD(5Bx zI&aj8>!-)Y2J=NUzPXm?(2`qQRoIV6Jyq6Epx(4BIg}#kf7o;)KjVs6sNs`(dIa;!>w5+kb+A29~^tPc^nwEB!R=?M@ zhV5Q$t*?l+Pg$>N^+tWq+ai9T{l4P3%F*UdN#><}ixX+r5~zKxeYaZsZuMLPZ1qmf z&8gbCC7UmwLt&S8gG2p!ZJ>;2m}m*D(h{szhG$y65`SG?1MB+w`g{7;b#%86^mR2i zw+ytk^|p8QcXal&bhoz*GGl3NX?u=}Z}UdmNT{Y<2uW$1OR<=xN48mt+caful9o0} zOPjZ@zqNl|b4zPaTQi^j&Vioh!M6U6fxeFBo|d-O=H8x`)`8ZR_CS%)rq$Bg?hW;H zwtGFB`USUc0%vl7v<+z{kbaAU)S7l|*Ls`-bLzJQn0^cJNofJl+lJa*9{FfPX!jdJ zd!!+VBddO~_9<%!7Qj~dNB|Hff0d(7mE}|F3C^hRVOu03XutJ1u5z>v$T`(7>_WQ~ za=VI!GN00n_Gu$sSNAyspIKg=-@i@FCT4Z>-=`Mj_~|pT5PR#iM3BzJ6q=s6$|-dZpcE~>W2j38eHI8S=QiO z=x|0O5p8ocUsp%#v^C}VxYlH3v^BvY=j$Zr=DHlZHZtlO4htOKXt$Pgw|MOquif5> zZc^`^xTT!mm96H6re{!1SRl~pct2C=e4(;l3y!ISHVjpB#n3Y`5zy#g0j*8OT&vzI z~?O>Ist-T%T+TGgK+uz;Z=OJG^ zJ3IQ;A!OS-I|sYg^`N=6G zwPk~0(bfYC%QWu$DAKLDbNju4_SVks!A_Q#+S>>Fds&$3=p5+o>K*7A?CR-h>+Nap z!EW6EWm7Dz?aPhl3v0Iwcr7ghgGd6_zFG$c*LCzZ_je<++nT$(JGv#m&3!E_X>|_L z1gnGI=F-T($$mTbn{lKS2aPyr!)7_;jZC4bxn}GQZy6ohX#KkaQIX+a2s)KFGRMqk zdhO6~)XP>cGC3U{2~3c#6$`;Ql^qj;0m=v&xkgBfeS3H0F!dG`S@kGXjH;Grh1i(O z?$WOgaN>%9Ewj;YlTBtUWoGol(PJe$T8?=3;AhxAF;FRKDR!pP}>UT$!%tT+I04k4;F* zBW=&ukNUNTgze@bE34n60nCV^_)m7eYEl+-|5KQ^!8FgyH0uSNUrMh zy_t#aW7BRO&zshT$IvXUsIuu9mKSA~)}Jec4BE)}&KeF<)XdZx?oP?>%6gLbu`)yz z8KlIfiS3&4E%XYRdu+ixz$9Y=F%abqRidWNh{;{*R#u_J-xx{vD%xenC~J|aW8)-W)o~YCqtO6p zar$KemQJ-@5;8LD5+mKMIy*B`g>mBgahd9|@HjG)8}~#6DzQT)Mc-7mO!aLpRh4Pt zqmD^+;(M$j-X(_vd&YA!vhI3vwm4D9mBnX%GCytwu~%D*&{hPt%x*8>!J?~SnX4Lm zXK?;Y)f!7u?#xcwF+{rAW@W8gM{<2-0gK*jg=ARB6dEf@E=|rruN-kpOfqN=SEtCX z&tQzrm8bJXCY<;i;i(##S(^Z|ve=qKT8jQOMl*uih*T{Ip<>jzsg%dPvVbI`Z??>O zVb%4|(Wx@!Jv2cj7RH!*=~hO-RQK7UREak{lQTj*5D&0Gc?`+qcr6+6hKquhalf%XA=`j?C9Xvw3mpbA{!b%x+t8+E&V)ZD?lP%azIgPQvvEp^f>X7|rWQ zE?dB0&B7VXhD?`s4;Lk@nHlM=(nbf0Liz5W(}{)B%TnNAzFOwSc$e zi{gZ?GQ3-ek|Ntn`7$QfV%Tkh*jAin$-x_{AarTkv>;s(^77LnA~9QN)?K}#E~`48 zTOQOn0(z*jt;m=r+i4RBj!Ld9L~m(N5R?poL9mD*_UCk~&d<1rrI5E!gARN9+M&wG zTydOsQq)kN$F=39#)oTm(Ll`A#&I4IF* z-1tr-O?ntj2^qnxgtlY!q!f)QW==0d4vKolM^I9rN{iQ1G}8cI$(ww|)(tp5J7N@D z)G*)1k(*1!zHCKAOuq~fu7H1NtPfG##w3e!GC^^SdHVTgA z@W}p$etTw+$Cl<((Xli@B_tNnf<%o8Y-$)ALS;%FSP8n3OgZ906)QEFCZ?pR9{suP zvpZzLzdWr|!AK~hqAOIDLF?2+jO~>4Sr<22lDLiZmwQXIF6j~DY-l46HEk%OP5mj>QT}bTCl@$^7Qgop>zBn23cgY-2sxxBE zDCkU5=b_03G^CwyJQwj{8!8b`H4H)!)giYjJ3hrSgL7t+wMZaabJI+#BZ1T~EZwx_ z;mL@fXt<~5$9E1-`nHnvz1vET_ik%*m%ZCB!B9=Y$*yc!Tx?v6l>nCb1i-u?tONH(=`^E^PeOGOV>YTX8Qd z9I~R}SQ1$sD_dbukZFu0COa|VlX=}-^G#)~RNu6dDx#o#qeSEakO&-E%vCE$d1lGJ zq%E);%mib?E8BAN6AS8H~NNV37YA@e-gpV2h`TwOhJ55-@3|w z#*}Q_&j^cIUua+gxOG(Yii+AvvO|*uADSpx6FwoUuTTyRC>Gh-LN#Pq$%p3gLV2th zM729#ELS6Dlhsa0XW2vdd=cRHN|*h*zUo;t_1wO4PFBfWho)qt;0d&6VwZj;r!qNW z3CQi)dpc}|Mr$9T`E)m)ha3~jq1if@uj)$1Lp$jK5?{zccGNN~$+bKkf@)b(rR5T5 z3^*s^mLO^!u*6r(uyob(EV3{)lD@jFZBYU0S>{YS#zHm{MLnNpQ_rGBQZ`Hu!svBR zI5b+FhGq$PqBlHW;hI7{$1nQOqcq|9T+%e3X{E%p-#_>ehT=|uMB^JPD&Go4VgAWJ z-%|WNkF}GzVRsJFqN23o2j#0^5k`2X${dlCdY0)(^<3+v^<1gy`qV^Y^94?XXQxnt z*rP^^Im)qEqnx1%+Kc(7>4!O$B^NVEGs~89ERZo}ppG!e%ui{Z8?j8J22&1vleCMW z%0^M$ZNBEItQkkcv}WGNvQ6GvxFg4ng9d5Jsi%6Fqi0NO@p=n6H^QCXqvt%lQTs5? z>C_-FA>3t+&pDz~hbFC8vxw@DHdML*>ZFcwH_DXQA3=>Jeb;%>>5b7Q`A~s9~~M!J!?CDz9rXV^P+)HlDGpf9Bh{lthh9aNH?OqbM@YIIT;<5r$~e z6Ip5fW0m|4KQ@`5j1gzSF-+W9h^`zaWT}F6?O?6KId#d}n{`f?!&nLSL-rTNLY5Ut zu!v@{PPoC-d9z^5YQ_)3j3#rpA_!%{L@Ub1{2G?I@>eJ$u4-7$703B|=Xi}6jfi2O znwPF-VG47emH6r}u}xxQxg%9Ka`b4)5msBy?JUP(r*qnKYXepKAQ;udUFyT9(5$8Hh2^f>UAIpz= z*9{yh-|Y>%_M}!@kP7)d3s{t`(fJ9obpmOE$_aNbJWZQ2w~p#YVz!_rDYl`Ciz{m3 z`k{p%wJ;x1j_Y2sJsAmAO5CMOF9i8Z0ug>yRf&KRRET6C;JR^=O_ywSwjA=UwEal> z3b|}K;zxJWe9Ms;&awuUlRjG|r6$p>r^u=e)n>&+oAyUjW$3u&4}|86IY>2E!@{@K zK@Hap;;s>>U%y4D0bju|s*Ij;ZbVwQG!tE_@g&iXI@iAbs*Y`Oh<#DKaLOS!ifHop zC0*5OkMU`#FrU_J`39?7-&E5C+zhR@4LZqM$F${dKNK?O`mxWc*yexP+Li{43eBY2 zy0cG9Vo>6l%`y7WD3+hoE8fmM*ENhvV&^D$CH7Yz?A!D|v7_=}|#LZrW znNet6M&L%8Bxbt9FngcQ49BFeDXBg_7QvtZF*IZ|*+kiEc(TU1fAL=iPhOu?>o;G&je zd#Y*~EmlSn#T@XU#-=IUfe`A(|8C~ zrY_rx6CBT&^SQb5!*<8!D9?VVMdESWp8|ggSsbXkrDg);p-Z zQMrz%CYII;WqNnyJZsn;|-yMiMCe`QeMN*bVXe_eNfcZ(A%&cv&t4~nA1@gl4;Z7Eg}gwYOX(x zrKy=hnsCk}NE!W#5gJLM90{V9vw#>698f+S6UdeQvsQtHhV?J`lsrV20fLmE>a)IF zUC?f(Ce3p2N(L(b(4_Qrf4^+BL~GL2Y_Q={=kqG5Se+1;TD4Jzq(~PdWc@;1NSV|y z2&%>`KHN5A;2~;8^lB`1Jc0>?K-5ZtV?id$!fDiKgI|>6D}@@rrbnj9VQK=C&U=+_ zfhei>{sXW6>QLajhB4!>oJi5k`p3P-s$$H!TfJt|fy_vB8X3jR5R6N{oh+Rj?T;E} z64`H5Ai8~La@<#=41}2($3;jPnM0}>WnJEAzXO@cbp|s8t;&q!{vjO8n#m)xa*GF& zWxqI_g}Oy0%NFO9l)2RiTLrWtMYjy>jq2gSEUQwSiz@eU-p=$w7Lu75It^CIK0D;M ziJd48-&E)ly*ZXlY-PZtn@oG;B$!S`obKqBZEM)0B)HbCh`t&pD)>Tm@&`3M8nK=x{D(aQ8GRCj|kg%ip!IHLEvgv?z+3sIk=>$PE_EyR|1 zwbX*hG@Z39;);rcFfQ>ObghuBK`g)*=XGOD=t&}}-O{PC3)ZMZuAg=tT5H+#;1@?a4KC{%<3&8zERAvaQzHB4Ush0ID&Av=(kJ!KBu zR5>2OR9yQ`4a2G-;=-naHEy!e5G2Sx7MJ|ce3~Qavn)jEGDc64x-uu@?(0^LMRoP8 z?JKF$O+*<7t=I@0Q?l2tP5ATS$cph=TRaXAYcOIVBJeI+LQXbtCpoIAQ);)E$FJrwe1_*$SuI9A{{Hngb+a=jXxJUTE|1PF&wIHl|ZJH=j1mk-78%abDF zOnr?D-=uZRQRfk=M5IxlPxtNAM>|Z?i7Ra~8h&Wf!p|1XO6GS)m2uAHTnSQ+QM1+z z)t}?4EFwQQ5orHqbBIl*Z;=3MIGanMTPofRw)SbX)%38aPVP^}tkl_f4 zRL;e#OjN?U{@VFoMN{N3{c}6AOoR@_EJtP3*9KSFrp*wk*lyt-7K;EuBBEyL7hK*# zyp8Wv2hxRlQS8U3LLLfMFz*bx&TC-frm3L=iF;FaPsorKR>L?w&$T8rW+@($&ZRnL zo@&}E2PaT2To!brSWP-}lWl9?lR1}7Dhou)f@2aBxjjB-RHT2%8Od?k(zlid*vtE9 zzFFJ6Y~B%A*kib&%XFq9OiocsVVYq&yGI7u@tw{tH#VhNFk{6Y$*AG+zE-7T*2Uaz zBUqKw==4zE@Z{c`mL?Mi8_@%NT55W@Y`O_jS?`0%*WJ5^a`&K>hw?DZ8jCOkQmToT zXE%hzP6a`f!E%M2q|ngCiO4Sb2Jz|@T&Y7z5AmBhP+`@ho$qtKP?slzTSI=BI_2UB z!lYf}mv0Gu!2if29d?HwRwY*;ACz2)&+K-2(nXHa=@)fLzmp6wJiW4mx|G#>ludHZ ztkpl-5r_o4%_8=edp5$DmvKM}jujAtuI}pkE<&^G&vuWCw&7Rcs2qGBDAIO>$uU7A z?6%S=L!&m_%@ocRduEiml=F|trfRr?)&S$WZDAz=M zBTj<_WuIqqY98Cf^gOoq9=8bXhd`*q=(F5@;helB!~(77TA1}*f~;qmcc&$Xi=KYy z7S3L+32?7=7V_SLoX;n$`AjnG=CwLb=!0B-+AM;-T3gchYE5)|wWD|W=S_88%#Tqz z<5*5{+7*AWgrZ|ycvaN~w}@HVHj`~>JF3crWRG1xi&(xgS1!3l4%BmJL8A7?AIZy- zuXE=*poMR`l8eiB=UjVst~q~Twl>bqRl?XD71bOZ%k&k025SE8LR7^JT11XUVmOK( zy0Jv34R7K1lo1$cD`g=z%9VGK8iKl^$aF5dqgaw#qLsC(lQYX;6qxc*A>~7(m>9D` z)a&Ijq4Jy#XIy|}O6ut{yB#Q!l`UU1?aqrq>H|$_N_)Q&ZkUbImS5#eiCe2gq)2aW zD!VJs7LQ!U_67@rHa=}Po3g%?J%C?2K^_(=|Va2xsF&Y5Qxuz8S%hs-Wl~^5wdpe0s_JPDV|xuSm+aQ|CH&RwB?w z{CoNwn%ZfL0@}B8IcKu&Cq_vWtC1sWHM702QzMkG*wAWsO7qZ#Ej5&dV+F|?6lxJS zTeIWUu^B>ErOe%>-juEEq;=^7n@Y)>xnQshiKkiQ&59We|6rd#%amgmTYA_ zThKzH8*2L80-E1(Yj`Zmu~200MagGY?P}j>DeU1gY6AQc6IdmLIaKktjGX(x=vIyb z^Jd0m@$S#sU8CMe|0oBs`6dh6Y2Pkn-^7fLxfP>YDk{h$z za|LgB`)gR0hcM6n)}dD|&Co@6VKFjQh#nW(U@ki?(jxLI zhhwVr3GDqt2%!(%Q89aoN|soiB{K9H01@Am)o2pn? z74)PqRM9zl3OkTd)v0N1DYcx@QmxtFu&L#08FHDbmODk*W7#0^QSQD`9lAcgi5b!K ztQhBQr^teo>#`AYsOXw8gcf&2<|sbXXyco@9#{oNdXfK1C})R6r8DEUmKx(wYmISR zt&#VVYy8$4ht}2F)*6Qb%dG(=ua<5TlfAp-^>S)YO#0@MKM58NIn*akA>CA1xMWT~ zBU5Gdr4KZDefH@s$Qda{asBk?cZo@gNTf_ITSOsd^k8iq)e7O`$>LTnj#%ZdjUFu zxsmt+*LIRg9V(yxVs@Ga@n}ZV`9re{H4G=Z-e6mkft~nbpbgBydWmt|@e@sh6rP^t zL-?Dm2#H#bB}Fxlin%ck1xCheSmB)3u}QYyS=$~Rs|Jw|Qk!mV zL{53TUazERx5KJc;c$<$qZuQaXQxdjgeJ+RP8uS%QFD%|-MI58^B~_K{#bNiTd73a z%KYd;KRrZuWl+IoH8a?y(X_ewuC{ugCJV@F9;Nab8feY@SlzpP`mV~gE_9Ui?PSj7 z(*&=xGo1A*IKj&Rk}sC&~zP6^ES^$6*d;3=UI>q8dvbVgvy+S9N7lYJR1hkz1Wbw zz1Y}-#9k~J<|@c5cA0D69C3H>=dnq@PDZVY|ip+hVLSd0=Z*I#|3Mj0`?!;Nx7)_3B^ z5@C@$-&S@keA;*Eo29!k2-=Bvwsv3R(hv-W^K7K}Yp()Cyh(NK)lz&0M+Tf2jrg@* z!Juisn4&w55o=QpBMcpCnWLbdN^L}JtV1klCHY;@0`XOlmmmBBm$-Vb%VB+ue&LRlMO^a0UNGS0YWX9)+NIC_h2cs}_!yLjyh5%lNd@vaWc%H8 zc(y8!+Nwh9-VH_HwJt1PLmw#B!;`k;5;A$TfYH`oV3R@&ZT#BR_N3R8LOUA)S>Vl~ z?px~$Eqi%VQ;y-;`ftehQx$St7tB^3p@TLY>=z7nbZM zt3_}ZCm4hp+E(0ILLAYC20v5om>w^AE!t{1FH25 zQ!RVdK{QQKCeWRglqTsf(utL}bbAs)?WK!H?dji9qj;x9Mp+xIYX`mqRZhE9Bt2_@-uoTyR5*GX8EJCdEu&0}t> zm9YpfB?GagCURwa1Zr~Wig2d2a`gJUEz9PmUM7M&@!qtRiMbfJtNQ9@%3u1@*uw^r4DO;2h~THF{>NR@=dgHOgTdlMP{a7(hja?5+q)B!YZZoC;C%lC+#s2$;UX z`kQa^g{(N!W;L;0=8#seoG?&>JYKAXoHtNH2N^kg6FLs&pXOIBr~!^wN;gyE3=d9E zN$BzfvQhdbj`DP)#+b8slO{&h`5E>n(f3Wp5LXS=vLy+y0yyb>((}lV*C0 znKNqkm261kk~KaKQt@PQNe&$=tBSTdHZGRC_!~9ZYXU*bOmqy#v_jMt(zkJl%H%MY z)pP&wNYscF(F=LKlVU?wl*6RP86z_v$MG{GsU*Jx2#<-{m&%=ubVo|0817mPUS{D>U_QJ~(p*?fQ`X8(eEh92NVD7bA0vAKkf(f|w zB^X#pXJ60<^(n6;E@(&bTPX*@_)j1PBTZnlK#Fx5E;kshEM1E0xM7OxEW#AmS=6Ms z&W;qk2INub6x?O%I73&Ji%6ufR z!BI?Q*P0o5vc0pD2n?jGUFCL0tt3awIdez4!P&QPL$ovc1GO^-W3w~Yj?0d@-D0ht+J>~T&(p3?V9ie~FXWpD%5<<6J5h%vnwYi#Z_RLv+AIush^;7G*C5kudh#3DjG z=sJ2wh8H+o!R^%!KVzu#Orxc$r|GObIU~L{m!yCZA3N1RU)99}(Pf2Gqnl!u1n6Nd zck)?FqK3ih_V|=<8%!#EM$Lq0S5DP4-%fpwP1(g>kCh?XvHYG1(K1zZlq5i2fT!FQ zt&z##$@HVl$Q*8LOI8Dmuz?KJ{rsN%EYUok%=al|^exSDP~I~1Z!79E(DhMy+h!)v zAm*_p#ld3^VL)1vmM#Bz=g^W^=7nQYVjf$BYv@sCJbpF1nNw(XnX*Qp`H~|Yp}o_9 zYj~t2bg;upH*86q*T`2QM!VVBGfBy#SaEMl-g1TBt6*p1IFU1Hi_Xr3*3mZLJA>idxXT6(=TrO3YHR2(;SU z+>Yz+c6&4O1GBgtXBk4iy?MEN$-a{qg0%YMf_nBd5HLynJl+C>ih7qOrmTaxr97kO+L{@aa1J@J@M`#(`bKJ-;+gjR|Dtuk75lUsc z5Q9ZQ2~K`K)2AJ&!?QYfOU^>~Y#tfvW!Uvb6*q1XdgGQ+`&MoRuHO-?pyG?eHBe8ry#Nw?M+5$wdieTeeXTWlv*>h ziA{D-uc-v)sj8Y%%>n-q&0?9uX*A$pQu3sIIl zqC6XV>$x1=)FqLqOV_a@R|7m*wz68%IvJRyRqUe-(zX!KccN1O_nv9R z{px`wj*euHS6TWZMv@pYg(VVUx>AX7@?miP_NX0%S*wmpGb3E!$|KNy;pz5!^}q^i zO}zE(>?Le}RmJT?yCU>2zS$OZMORnrd0}$rh2auCj~{xGPKoN_hrhv=;3FIf!tK&W zxD?oYrfpBp=ZCS`LR};r;+w~l82wHiajKmz&>w;nlad7-hfywIDG|_!7O){X3vgwR zglu&NvvRs9eY@+j5JXO{?_OEZ-SKRZEHs1_RBj}!6v=2LmDIp82 zh}GEF&y}2IS?}5EY68bW?9LMD;i0cN|4riUOw?gXE(SOg=+o4oZ)8dyuu+a=Lsner zY%DZVP7%wnpdw6HQW4Hf=s)7awz(>{xUB0IItFMdI-_(f6AO+ZVY4Q#zu0AI3r!@= zKS}BAT}nbHtbRMIs%XPb+^Q^y%8H8HTyYlD?z?$b_LN4dbK-N0jEi;vQ^!%)3XCr5 z;dA@h6fJWa}V6c>T9;1!SbOpyg zaeW)FikK7eDuryxFp6?CLM)@tD4L^M4vuRXE-~|&k;AImsG?>d-|N zW$EgirC*jx}LGmaIq%~9GA_W$P?SP zgl}ys=JSOd69xv<^^Q@>vi!hwWjF!0zDH0pE@&>cpT-2 z&nzk_1|2;twumv0%~(NB@mFky?e^d*o~|aFcd1TWVl@9zvqYo|i%|zP43}5mUOZbb z;AcW*PcbqM`HV7d+|9X)w_C3YSDag0LmHc=X>!FXXeJA{gy6;#69B#8t-Fl;6)mpq%w>>ayZtBmKshzJP90Cjik|qLm{oJ{-k0>_MPZ87E#Xs z$?#|xk$rb&5TYgPNhf@UN1a^rWSOPn4&7LB`n!U5sKOo- zu8NiUY}a(=Tlfdo=i9jbIU=%^hm&&!CO?*%Ei{*D*>*Ey{rt-kH=j$ppU(^%{d_x@ z?D-b7X`1_j{P|3V3kII~{GN%|PhU2#y&8cebmlqIh{H#k15EeTF#z5;4+EqOpqnj0Nff6rOvES z1)J*?J=HoZiNxL{)UnI%HTVp%q>1=OuCu|RP*m+0NqKawQV?cnZ# zwGSJ;0_C>Og@*FnP9#w-MLGv^$D$);XImIy(!v2bh*k@$-rYixFX%8@;`M>}eIy&C zt0;vq7MjJks+U$Ej-*~46;_&KxagcICj&$@x13nOESYr0Vre#Z7}x@qq3DWwAtg~` zO=d07acN-sAd{t|=EWpSN*#+Z>o{82bvzeU9k(L)(|OH=CtftC1AEv^5Z#PKMEi(N z$?d3clr4?K=W6Ho4H6rdz~n6-QxF0Jcb$zZej^K99Nb{kWYQsD-jN72%!r~;^Fm=y zRqMs(8W=YCXVaibKL=1eJ5cX!K2uMQRON!XKKJ4TWRJX{#2$!FJ&=UHQ4((#6o^58 z6$$C&7*$d|R?^!Gp3{@qFC!6b?RldduIErHlh)`#*50xSC{3=7Q;tE+)tF6y`OEz^ z8JD*KY%6swGL#53kt*Rd`TY2{a3iXc<4`OXn=_kU!->clCm=~`ezMBVV$N(=N>IH! zC_w)F^G|K9h)*)>&Uu~xV97N7p_d}xwJ1LC=daEgL2ML>P_#d z4afc|C|i5YG%B@{#RMmkxf;Mpt}bh(~_@BxG1hX&h9$u7?JW zYI*#=sr*>H+_un%N?g!=CEsizhh_@rlzepqi_w-0?LT4=hk-$5r5itFtch6Ys2DM4 zYX>4t07VkGaAgvh$NgXzkjL)%QJbdM$$#HY9#cg0d2(WYB)3E9iu-aPhP4p6r|#IQ ztVcKlMRqt!W=n0#E-AlnCH*_tehJp5yt?h0(4sD7+9pCC0myEB<<9ZLB%`sjJcRU9rS;> zBREjP>4y{lwSysj9Q~JQ|DOk1+d$T@eU6a)!yqKO$+qi zXm&?r_%9LW^SF~J0=Iq4=~<5PP8k_5=lQZ=#VI_=APoiWMz%DSnh~RVMH{npk0|BV zE6pGd+)-y^Skuv;F$!HU|7HCobPzRfprL5E5)?yB=qfO{)fsuAnUpXL6PPp5OdPdP zA;?dBbBKfk&!UbxLKfjM%fgr(NI)5$oXqc$<$9|uT|lvVGEx#YBN`y z;YB7TBA22@u@*sS^ATLDg5^vWo^{hInu=pv7U!|ewOmoGaTj4kWbG~KB|emzAebb(mhtfvNxq|K$1A5CX%L$H>&+3;c9HiAicZUUMhJ z*wSnlV3RK78S)LGVGcPxnzfhW?P_XXi!HL*=b!MDvXz~{@GgLD2C@#W>VPwC&gJBh zTAi`G^<$YN=Br&3= zYwep=8&i_T=jcLi8C0+KnHPD?NBfo%QZqd=akTkDz>64dXfsLSw&v8C^0yV4YRcy2 zJex=e{z7|%MK$ocJwJKRfusm~sG|4uBOIw+R3MFUyCi*-XUa71{x^7+Omh{Q@HG{h zTsR@aMy5*0kj~CpQ$@m^2_7o*M^lzM^k!nsUb3dc-^JDF1A`ST6~KFluBz-zO5noe zY8_K|odPG4X#a;wdABlOm}84Mu#E;V-`4!j=bNwjd=phc;3gDB5zvFg;d$Vi%vdnP z<-ptgG({|ohwVevv&r4xtBT{ zkSi~|ybC$Bak$85+T9yb!vgw+8$qHkJ;;H7QSY)mQb`C4c(NZCd2Tm*3D^qd`2(+W zr*FAcH9ck{0!EEitbtKNE=jU`MtX{KJc^+|Eg_`)l?fqLh>Z!gX(v)H3t_81{W(a6 zhVh;9+J$>BUCUkGE!~*kUgrIDRGFx0gFciOSn^aIkAORunpSxug!f*p#(abPs=Kkp zP4Gk5>L@fxZsZzZ$WZ~d085@`sAZF`c??D)_Y!(=X)6pmyviQ(EIPS(UB|Po7BVOJ zSwXoFK}pIzLs8P?w5p^)r${okE^yh*?9eWFv|fL*P|v>yJ{I7HskB|!z->UtfG&!S zF=~_Jr_$`o6z^D0=4tLkhS8JRs^d!C^krwVoL#Z{3k>5vmy17otVCQu4;9gbSzyD2 z?oY;gIO?G^1zc`cZl`D^pK_;v(5;kUzW<-d2pF3{X{;HnE# zmvY+!-_5vf@wy3jt>-P1xW_eR1uySy_qPPzP1jm)E2)=!Y#f-28nmQW_ZGAMcDH4cdlYTBr@<=0D|<(*C1&f<^niY&f4 zzJ#mol;NDWnJ}bmy#uC+YeLI57jm0+60^kQC0|Tgd&^G8Ew{Gdmf)WRr%(MSAf** zvPq4z5T^4uKOct?hm?)9lMl9t@zBzSq`Yg}Ssq>muB1JznF^_z;lI>_ zl|sV-o8d|C&T5OvdFRl#yf5^4%N{iD=zJxHm_~F0(TLYenzS)C1=OM;Tve&+PV&CZicd;=r^}g_4AUN8gS&C;y(Me; z3MGx%TO=k&FOx1J-J(QWs(K7X0Y~CGS2-urEkp6kkcA+hApM9>sGN2%Z^{2{@BPE$ zIKS|J{63U_^$^k7%qGUQnA_7=Igar{O0LqXf zH+y$iiISH}&_rrwM~dlMX=#^E;FfLWRB4q)NtIS^lvHlvhJGIQdE}N!nFj4c=T%y% zdOzPY_ugHQjO;l1r|)ADICp-YIdkUBnKS3kTts6kD!pswjH6C%iJx4rjHL+~YI+}a zZ=)|-JiU(lDb3#`pj=$)#wa8S`3@4Z;YOBDEhQiH!25s}s@b^rZpJN!try9g^w#rI zlipDpDd_jZi)fxnE+r>Y_a#(aV)}c>zW|pd>6(ddDR|eG4!(O!ZZVhQ`>wEk2fj3F zDd{Jv&pOw>3u>>sT%{kPx6wk$a)v% zzK_{GW@B=Bp4TeVgg?VV+ur6&+tf_)Zfaa&E;W31dh6?4vP@p>3?CU1e8a`)oTeA_ z@7neCc6w@Sr+1h#4{Nsk$oJmrWw>s*w5==g((Ar-vAhe}=kM+rhdq{3E#h_FdsknY z63s%d`!-uaqzMmDLt`clI`0<29rfIMNPUp8lp)xN`w-*d%qs71ygMJ9W)p5{C7BC+ zxeSb&Hw*A{ea|l$o$K$Qlp7oMOENG5lu;N-n0Lo|443lOnYQYwDBy3V(57ahR$PZg zYboQs`3_4hVYH~t2dQxsGd4=Sk2IB!dARXFxGu?zKreUPhVE3aq362(o#cuKQQZ5%??nH44th7N=eL_38a=H8u3dU_)tz3Xk=M0$?d257(2my-);etg zG~Qmvooov<^E5jh^}@T~@@1_wq!(0n7M{wmQ-8f1zngx^#HFPVtnbsMHN}CjHqqyZKJE>lmE5pBj^F0<6xBcbZ&E*}5KOZtP==f=yaa+bHWjI>096kY8&x!%68af4Hhv!>2}wh)Y| zv}Pm!qZws&nN^K-Ep20c*15PF_e1bQ_PO`N->H9EWlP4xoovRWsWcBGec)}-C_8I( z>ARSjb!=Xtv1UJf^ltjg&{D@_bvxE$v+ekIX-8Oj z6u`HRwgGhc0Db+-$^0!1vy4xX{H5kgea*dvKJwRQJ@1b16~p>9-D@3TW=Sg}Nrbg? zlB9dR?>?)pK+*2+w#FqCY`&Y(lLTt~B%QJiy`1KW^pe-DkY=~ae3++Zx2y!S`fhl) z+;~0CX)h-2;dLCMzNF+K>$98~ULl%G(l_FTQk!jlfY1bcwgR(Q!FV$RRE;_f) zgT!r@+q##w1!hLVVA98XFyDnxl~i;0i6@yuRk8z55QearnrZaJ^@2 zaC$|%!w0+vJa6ov<;$XTyOc}anpfWAsdN!euXiy@PNr<96WJ>`O0Uys*4=DZ=;8at z$vGQC@m9Pnf%~#?!9}b!Pwuw*Xv~o^d8N|V{KcictNuplSNag%r6t0>_?U2-;-EyH z(${-`%is<#QMewP*~y3agCw_J&kPY2IAICjVfzyFa^`wM_cE)l$G$ZeExrNun@@rv z?IXy`hv7}+j+W;@JzWCIryvOyR?1#g9|L)-c7o0P16Ms@vdkCrs5NPpgT}#&)Aw6B z>3B=upcOaTF?v@i&CQGBv=XmP8LfRt!UpXRCZIrjS1+ekUK+v6Icr~`IJb3*7DO+W zLTg>3yp4@5YSt@HD@G&_UdQFW4DZfC@`vyU?Ezm8eBD8K7h}>(NU((CeFy0!Y_c&z zJ>mZ;YW46tKuzT)?i?V#3(Cd}Lyut^pjT6b^c(_%Fzq5mxdX&Yz#&?Z%YO{GhyRH? zwX^HBbm5zz>=^$C39D9#Jk=kf{1m^Uc#8BrJo`!Q=l=lV9xx3N?;}Tj>!FnE(>STF z{a)*xFb!GXcN6NNogrG=Ls&iz`O6Y_in0O943IMc+(9W(wy%Wd3S4?B{Nh2Z7 zNP2b{$0jZ0_~baQ(T_MTK26YLaj!(L6-(T?9+PT`_kVRv;_3H_X}uI^#J*QP^+1Dq zya#^m=J{9A1>?xcAb6zF{wne$?WH-SnXU0~8botXGq|5zX(he0P_cx$dWc2uvHpaI+9g@7h~b8se?ZOjsZM+`>B5mT7M9%x6yK+g{0+rN!M(+ z)k^H3taQWeq-#dI7nrw0$EUpn*mi;G7E0Vgs25BsKSW*4S82c9z#Xhlw~;T2+C|!j ztzBt~9%|oic)?~id6AWbgB|owKAj@GiF}VPtamqBBeXW_t%!SzC9%o98fb?^awppNGU%PJ{1S`RvsHS7pf<7 z8U7Xa=J?lc@xs11B}>9`Qzn;du|T2vST5(%C>^F%o+nK9Qz@ay5IT{JGlSt=u8pK; z(uK`!MUN2VJ z7T2iEWTIv(Cvv$BRv{z@dj0Ze5?jQPxsXBM;Muy_pGigP1|ho za_xy^qMi2C*cLBIikD3Kc6jKS%W<$2_O=Xf@$!0H^=xR?g4a#3_@`IW`+9e9R zI-6UPM7vTRiZ9B2!XHgq`V+}q#^~^a{SIBQpIK`tDC8t*f16M|5k^`vNeflhLINsl z&BcUYemWmvUyiUZ*Rd}}SjlvVmJI817>VjW8`XU_i3}MXB>BN=Rx~_IU_++KwLh2j zD|7I)uoBuV*^>}fwu@)w$PJ?ph8bHe3fBTs$^s+V%Bgg z%o=jM8V*@H9FOsEwy7nNhNA9tce*W;^2@(n*azrNGunRePYiw)YLuT-{?iPe42(P@ z$Y5{CAY9$~Y`zkYT6Q zWQbXvu8kQ4ip7Y2=JI}JA93ncO8U+58&Xz6in5W}5gg6uing4o;>oO*#ym?9VY4d= zDiBsY$;y!6H<@F;b$AF-r~q?*bt|LVlFW6d^O-d5X=c2kj<#s6K=!suMw6CE@INpT8g$+ax=)Xxg3&9Gr1Hb( z62n#IVitC7;eb@R|fl^TN&Yq^b%1J)23T^&xp#&N%LE{iO0 zb?d)MI3g6v!UN1d1}$cGTn}|tFPK;7Lrw-qWW$K3!4XZ8uenhoX4B}17=_WOIJzYl z>a%P#(&$-AWKntaxXJUf^waT%Vbf4R5prfcq0MzIkHjsHtZRA1S{`9(!Avw(jf7pR z$aVqiC73G95vIy=Bc{r-Fjbb@GT8Pfa{du!{c;y;zJ{t$*(O$1RxMCuZjy;+1ARlj z%>JmX)ZiBH#&v`5uv}UT0=H=(8oOKRjEU@AM`WiF*@?tO%-_ONmO{6vpIOAHfJu%P zOhU^t5p6p#OC6zMLbTH%?}M3;OZDQH6wZPJ>Xik{St@-{s*_&QOjW3;lV3s-S_Tu_4eKnNUL=u&O(b-e7G+Yn zIz_mVwRS0sEcwBJmWd;%n>93cnuOC3{|xg;b4`*;OP$iAm7-0?Ko*N1T%<4!<*9Iy z!YCsD2t`m;sFpVgF&!`Fq5&4oHux;(VNc^Y^gc$uHW$W%dPW>-g%?rvW*Ce;qLr@v zb*z)TVppRf;hFW3WyMTX3_^aiD=wJ98mCH`s5hERT8vDUQdDcS`jBZDrHI;`cqXAU z5_1S+++Jlxa)lf`PcjTV;_y{YM?61`<>t75+OM2;qZ#ZiX4*n}4^#K`T;7(5;4oUu z4-Si^t~ZCJ6HM2^+!R|T4Sk89?0Z;ay8S9jzq*R9D*tYG8jxp%a}4LIMhEfLE*42c zpmG?G5_G5WY!~g)>$~bGUTh8*qmHJIR7cu(8n3ZRms?O6mc~?{jS#T{-mjHd$TetdU4HE- z>t(i>mbsfuw=&ZpWzj#vOfsg`=FnaKa9%4$p*GWnq-v_r1Ll4CcXPS!deF2!nGH#y zR#3sV7Kvk6YkQ`pp_FT>oQ0+%HoWvtX*_a%?TL_*vbI9B$&aNdmtF_YFwo1fd9;*8 zZHL0Nmc1d<<`3k$bKTlFIXklvhDp@$gBg102aE5?WYdy!qp32dpkG;ZQdtOwkS4O% zOri?G-bmjBds`8pZVHg8!kZF=O%0r8K`K;^`oUR0c*76Q`@w~Ls+mr(q?mb|!;-+{ zY${}2qqV&n3lS{r?1ZtgS@`YQk!ePG)J|I`2%PeRqO+g1_qKggQTwK%?VDIritTJ* z6WUP1Shnz6yaxY)TveE{2zf(d=sF4gBp4HodE4s#h{!F1q&4%K;g_`nlXsh6eV*N` z|CmIyTsBxU_=Ld|25n_5KV{)(3_fe{d4nqk&lr5c;EM)dGWeRoH*E?|=~HZVZVG%`-e2!QI~Ztw%|*C`Bl_v$*{e;Mcx22fBo_Wl4bcu zPNG7^@#jJ-8!>0|b~Is?qrO6G8!cEq&s;d{8acm#SsfMZNMVDUKI}qC`sFvI!d+Xd znlKh*bD4|6><7XH?>(^T` z(zRSR-W#0F(ZjQj)>AP8n<8Eg}-itT`K@vdcUjWkRZDwt)oKKsa$hGAD7Y z)WTsezaH;(V8AP`;a9AklQF7g?R{Cgb5RPLCM)tX>9FoGy5dYtR7DE^(%li|tb|%S ztDE9hRv=-;n8#uoGf&G}ERJd{*lN=zV09|mAZ<-Y%E$T@Y_)xO7cHCBpaGOULbuR> z;a#V_TUKX}L5qUZOi&2%hW+g`|d-t(6P4$NXANTjAQW2mp~HE(Bs! zmiep0S)&YjNNO|UrS{3Jm+3soP3(#>%h6TT*ZN5sW!f{%NZYb>j>LH`%UpnMaA?u5 zTr^$V;}3La&{=5t9;$cqpDn&q&IGctRH9F_k!2Qyd;B?PF*&JG?2%l((nu* z5H67>w?<=$aUmvFP8Wi`hz^O<0$v&Jirrr$sykwJ zM+iiYvLpUz)?9eZ2s98IHfQnLvV)`MX{0DByA(OqmXeVhjwClEYvzVq3L}!RE@v_` zY$i*UqIfQT5wB`kTOxyI zd>g&te2|s7Lhv$3ip}!X28pXP8M2A{!Q8r5iiY!TU?E5wInP6+RBI?8s2`&VE%eb$ zr%8fedBU$e<5$=oo{`{bogeTkL;iq2pt8uEL5XIt81^W9fQ}!@CAM1V=%<7P-YmB?pa`1fYzLJrOB$zT=HJoU4w7LyP zaKw#Dr>$#w(_E14R1tP*vni(RdBcgOK^By{m!UkWnj>$fX$WkkcR@U5TGn*Tc+dHAP4Mqa# zdP5Wz3@%<)kS%OO!Qi69i2Az}W3Yc+!TmTvvrQPu-Ew(J&|D9+*r4c6(*p$qR`qlj zOIh&DmV}d;EuKHRCBYk>4&I}5BvA2D{uaDx$t?*MT$mSH#6wtY*w!YC&tj}&JELj^ zom;m2oU+Q#Iior0N3PV^Y>)>QHR?ofE}jd#zwmLZs_)DEnB<&}MyqlvO62IJ0m>7kxL5(M;Z#^xC>=I7`d$ANMpf~s9YR(F@Nw|=H=ke^C~QvZ#M&umj-&RWA-sGFq*ovO)7#B zgTwQ2?R3!zkDDi`$yj=xov-$Y{s79J&9+L_mjkSgwC#Xt$rc=c7)gdA;y?@_C{P9) zLupA<=xo(&0dhUVh#?pEPnSx$AGQ2=d$_rHe3MMe%8P}{A#%Y|czhF4?Qq$7vyoAf zvR|~oOJu8lHCxQI7Ah}05m3QG<)vgYVjC+|F=AU0Ta=QHiOkr_nzi_fF?WrZH_6T6 zBDV%wYaeXRrB(GH-8}y||JlsIKLx~2MK@)5AyEIX_b7-z+X@>n%R%#MAcvWgh01HR zSqN^xo-%_BDy@rA1tTs=i|qF)Re6nq;%jvi0ej8Wg&B%@@f_awmX<>BM`)KsS|B6P zEMV`XTIm*+LX-Kvcw2QGA!)m2^Hw2U^AX76oQ*kp>`G_eB^WT=mvYDWOHCrs>9=CO}#Wi zXtmh6aaN#+z9+r&$j=0#|gg-C<5o*$lBY6v*g{9R<-udMwx69U{ znWs|Gj$3DLo=Hcsj#Pp8vm9v9%PQv|yo!{QxyBUdJ#ep(nD1;4BtEunpzWqK?-Jve zf3}f3A@3Nx)kcshsfQSTKHSgMmfbeyyx#p(&$|qgN`B2;E47lGwr-PFJ#UIibrFK| zXuLuVrx8jKaZK^swmBom>3NACg*|izr7~S?I@aFGWf8974?&uzF5ITRp3( z06(?y(In8UzdF+@e-+K9tx2|(1K0uN$Wf2XB%S0@JBO{T3~BG`dBNHlw1oC(8YF}p zvh|R#ndn`>rHL{RslF=HLNn0b6(b?T&R&5{r`iOK13)V52ZQ@;FVK~Rb%lqghRbHVCs z4n+v7uTfL^7-<^7;i%7euS0X9X6`WgtKI&vhJs*X>yUs|nTs=`5b|!lKVYv+t-|~|(0PZI0 z-^XDqIDK~>R|^qsd=(?D%X0GF=0K=D<(zw*chIW_F)#%+ST!~#Z#u&Wm7oJyvg>5B zMbY|udbbzU+xX#(j1urje}&k1AwVxU#^~4dqJK8ZzTWbo z>_7X|=>1m@oco#bNpGv?rOKZ7l;?TPNdWPC?!BegOL=@?CE?vT`njJ>4b1d?r1z0G z|NVcj-1IMZ9Qo5f{H+Im>g`{i{No>*`Tc9Y_HV!Ng?qnscmFG=M~A=k>xZw|{_s2h z^VJ>sv$sC|+#mkbR~LF(?)YrwmS4X3Gr#o%4_y1k2mV2J|MjTO^d-ic=RW|_K z8EJQ}+}$_O8Gd0NGd#OJ-AWkZjB7uqV08w%kI*>(rwEnE)wywRIQ$RZk@b`7iqW$r~blg1Bxe=uVGLQ0w-D?pe4q(Yt6v zcPvDS&PTf&1iJa7I{mb-+Yh=MpqmoAfVvAI?BdQCWpqB-fgYH_puJi1jP z9*Vz?8r`ALXt>($?uN!dJl84YK}tp=sd8%D(XCV23W+}TdQX_Qn-Ur~orKp2ii=a4 z9n71AfF@0f^9No^i7B?Bczy&j0$G8aK#M@DK%2k@fxN&*fp!63;Qzey&O0f7-)XO3 zLejP1aj$Frea`h?3fR6rQ%Af1;;&o1M>ioa|F~6(Pv6irx|Q2Ho4nQRoN;Yu>o5N6?*z}U^UXl~p`@CeCV#TD_p7hE|He_8Kj3gzS^!A}uIKQ1} z;_XyA(ViMsYo(t8yrj^}7X1<-HH5iFXrF)*QXXtdO)0ub;97zA3GfXT4+{*iS>Qba zR|#A#@Lqvy1iA#e1-1zMfWY+vTLo?q*d}nJz;=Nh0waLrx!+5AnWWd0^wP;5i0etd z^G8WuO}2Q+RyG%GEO4fJ$&FsBQ+3J$UQxhn5=aQN1CR+q)+3I$HzzoAn#d(u60M20 z#D+vZu`y9d_?(d2l-QhjPogt%b>f;t7cP%$6UD?WiQ7^I!wf>Oi1*+UXcl1m%QXgp z7J)Va4ld#w5!fVfmB4!it`R5-TrcoGf%gk+6ZoLOjRM;RdIWj}`ULs~1_TBLb_whj zm`gnaq>uY}KxB8~y2QT3NaF6qeTl0Q?@jzb;`+qa#0`n}CElOdmiR#8gNYjx+Y>#B z-b7!bKQWLPOzcYRPF+XU)cXbaf}EG)=75*tlTBW#M}SM_UW$9EUaDVUK!C5xd8u6j zd^OHX4GHk2I4^aR0AHx{QhYGYOK}y{OZ~9GEdn1FxK&`kz-4K z)DeL(fpLKefs(+az=Hxu1*Qc)A@Gm@cPhLTA0P5k#{^~t<^=wxz`Ow00ln0sz;S^` z1U@OSB=D%frv!dN;4y(u3vd(DOZ}ukAW#vg3e*H17x*cGpB8vR;AaGWR^a~;I3e() zz|RT%yuh-+-xl}1wJG2S%F^?cvj#!fnOH*oWMze&kOuLfiDO= zFYqe@e_!Aq2%Hl5qQI8~{-MBWfiDaEs=%)atO$HX;2#P6V}UaQ|3u)Q3j8yH7X-d4 z@aqEqT;N54-w^m00{>FrC4t`*_*VkICGfJqZwvg6z`quFMc{V@{*A!D6?j$PYXbjH z;P(Vx6Zn0BKM?r$0CxN$FQkt3zU2aRQ!}GkLC_kBOwqt3s zv7Mb-=xJ*959sB^uy%BMjTZ%Yr4^>EB%3*LQrOGyK8g=FHM7ab?IoPmAysZu=p{h# z3NiGN;XBB%$zVwpUltIu>S2MS0wsYtff<2A z0*kcy7=dzGpeFEyzzKn6fu{tX5qMVMd4UyyGXgINyeOb9lwT8g6A%;yJb{!zRzO`1 z+66WVbP9wW(%Au`6;-RO!J%M?P<4~*l)PKUP~JwpRjEL7f7jf((8yLV0PwlEq?-6%v0-0S(XD`BMWH!m>{ZlQenz1e z0kvn8F(UASz+t651v;Jm(V+Mhfoi8R4+)G496`v3NDp2Tc)?9y+_E8Mr6_PR3`lNx z)ugI30?^4gD|8~1KI`AJN{Pg#a#}HnEL3O(FS5WZ0vn z;s{3=7>Tl$8|JvV`-K1=hLU-M8}B@xZlx8e<_b48POS4`iu_EfwZt2lP~df% zt1A9f#h^w=eY{&(CNsccyD8*$Y@RkaA0-WRP&Wp5K z78JEk;n}Cqb~p3nNU6RShRxHWT8C6@RiXW2Q*Bs5tF{<577aoz5|7$Z6*?^3BBVAd zFcTG@Q|vJplb10hd9RAY@Ivh*;Blgb$F~Y>6WA`$BQPW|0H`52e(e=aYdbcf`$};{ z*OUAxr{Nk>l*Bu@dOi^+S4(kyT_Vayh28a`D6gW+HxX_{+^k)R^LY=8)cdtprCLPV zP*euy`L)-=f^wVl#=w=q2}nfQugA^0(|1ZcD@|sdw6h^fIu{ok!NU{4IKTErL_(mW z9ZESLrz|xP%~6Dq=r!^2f=aGM_`+B9jZw7Gx@e^qp;h5JFNoANSnXoeece;B^x>Fm zQ3~g1!=A;3DktN%+zai?N(6`3m*@;jnBI2|uQe%SG0dTLFQP9`3oc$EZGVUzO)k!! zmg)#^KEkKB;g7pM zM_EKejxx{HSK&lawP z(q;0f#X8R%%qmnn6NX6CNtzaM!$N9>7tJepTl4~(26(4Qw>jGPGQ$Pg5Md0#_52($ zOaqn6^VF#EqUbqWO4J4X4bguXYCQE z0_D~mZgtgU!!Xr`S$BiQLG zcSf1+j)P6w6@~+Ke*m72L_xo@pAP#&dE8Y%zp@W*Q>gqLLT%4DsWR+dwpI?fCJy98 zpAMWH5QPu{g(8I$yjBvMTldy@_4qmxL}7;ZNs1Qss;D5x+n!hR!`wmi3i~X1pP{V| z6)JmOI}Y)v_>VMJhad#*IwSjr3326h@Il*Z8zpQ&CE#hg zk;`4(o-_@!g`D~gJSJ*_I+Sv4t2}Y-FxrY7kP3>FJ7v1lVp5`#g!3q?@G_!ijgd)~Dyn=?N8L$=(s-7>7K!gwN)d*hAdc)I)MsTq)B5yhrd{W1}zqa;3CC1)mDQTB>yp; zNy!TrC7*~W;N9P<>?jcPi&%z|J~3;?Oo0jsxW zIGKfyS+4?hPJC65VUC;ra}+Ar(eO=3RL0i9La;Y_c2G77N6&(1s-vM)#^D%H1B|G( zep)aa}%u$JJISu8qgVQh7F%YjmlHj3}7r z8i@$kwIljq!@??1+bV8w;-@EpMqq+!3CPng-Ko=qoich5L%<@zYwmGCgQJ6<5^IamIst7gM<+Bj2FZHQTB?z@DMuuAQyi!ZqXOMdM{ z973}(5o)BBX;~xTB2pAc(V{CjM;^%38uu(57pkkxXq|j}lOYeJWW{$GK)yHutE?Ft zl^znb6dO7Y5aLA@u>%C8>@;k)hz9#y&3#&<>|%cbKdZt#Evs^xf*5&HCo~~r0CBJ$ z;ufW-Kh)(9w-q_D^DP2?`H!#y%pCldsew(d!lp>K@_iEKM#W}Ga7slSNtk>?VHujX zGS)?wlQ`LE*8*dm;YM&;mY3ED+z64~sKn5M#3IGuk}-)swWfxR8oqB7Sy7$V(rQ=* z^U%~8pMrn~vi_AFoK#)2rRe(Wju9eVHxG;}hh^BwO*f3aql{|1WmMZ$GZ=NPj)tv_ zMtF}{0x^DKid>V+RVC90N3|}?9U{W>V%c&vp%@z66=I*5By-s zgy;pzGSIF;$|=m3&gj zMHa@gND5vi5TPKp0egTrA~NXMA!?F@esU#tpWAgqJoPiTP4F*1RX=uAzsF)t*k@kqZV8~88WT!3vkgI=4Iow)O zl~I>8YLO!@azy$1sF26!h5%e`5_}Yo0+*A~f*kPH_o+-r zvrs>0%0vMQVV_egG|$oG&ZQz%z7opNjAIfsuekMvYi5vCsJKO{qD6{5lLmr^Dv<@I zk`+4P2IvGkCud&Hp>UYITB$21Ky9^`RW`5{mWNe*-c@`)9>UWO_4C*Pcty0Ed*0ar z+TX3n4sdH;GR5( zG!HjeT(`4r>|Y|Yh0|vgeG^=6ofdN5%|B*bU>jd~)$wDMcbySuDlfSZ{*0Ghxg)&# zRLI>;Y4I3~gWM$GLJo}JD|DWuW0j`BLcll}P9zp91_C0gsi??Hu7lQ{D$F4dhJg3VV7j9n5Gw4p1|@X1R{kPJS|1}FjE)a4do{CB+J#J*v>;@#6w;IJvAEI z<_QxIeysF>D{T)pj7>$a73oT(1lj~Pz-W$dZ|8@ix;x+yod&Ny*s`A}P>O+vxgx4t zbDK=LR#N@XPeJj#=m2O%(^B4W3vAT(*dFOOR@Y zP4yM)Vf7W8(XYD5s}_09MP9RrTk@(}@*vQX&bs`wpd|?=F-Khh4OkBc1NAVUH;Bsw zC8XSy=i`B4C>4j&aY$3jm1~JZZECZR4;(Evw`!hjC{ykaS@Hl)02 zDN$iNAY>`8HXL%2ooNq^`ZI>dZIWt-wOqM*Ly^3hu1KvJ4Ye89 z)=Z3Q&Z<6U6zPL*VFpyiMfMtDBQ{Wc*oBWHK}HbW42yR_yz9_ns2vb*JHne(a1W;p zXPmM~EZ&@xycH(@8A8|*c_pCE^|VILuyp1iIjI*voas?Fv7JWQbek5n_dQWM2U6m6 zy#$NWIlk0_l-NOrFippnqO$g$CralvEN*7Qjd%@NGEDHRTWK5VBw)CTELQf;CF=*~ z*ibHZTiDbHj&Q3>w$36M-AfH^vQZ)mD))ZTRkPPcCK}N=tVvMM zEUk~8w5aH1C~D3FQJ4Dm;qRc_?iQz$!*WB9I*?~gIrby6Wk8r*py z!_QP^B$y8HNBb@HMAl9-Dt|TVApt9V&eGz}uC9+lDg~old+FN{9a)!4qbi)^LxTE} zGg}+jpo^{5tyozYT#Z+rW14FtV5efth^B2`Hm#3~X9*=!+xWW(1iG?WI%&z|>b;HIA=`AEVw+wG=Uh5mA|AocD3$F%l)s`%D#Y0ag6IO`9A+S4uTq2O72Ic7 z-n3$y;<|H|x@K^zAYNrv8461j@Q|zZVjLf`{NWfwr{%9Iweq^c!C^rh(!w)pDXVd5 zYbjW^yt2Wk1S=P!5_~#e@uPw`HWhvg$fijUC#B$00ctH@C6%b!l z#HFYQKA)~3Cs?ukIUp`6gVs}APs%-G@I^sBRszJ=q>>{BU(lG@32}>Bhij)Td%H|ycY^TAJ;gI95u(W zvr&jGYRHOUBnsi109!R>Fx!$v5W_t*V#Gy)ZC*~u**I=v!P5@GqOTZy)!=IeMFaZW z!e<3p%){0&AfnK@C{#NGYKbYQbq&60@GYz98FVzQHj5Cxav+rZ3>t&+c7{l~upEVA z_SH;!SiV$iCeF99u00mUwJt?9_fnFjh9P3QCcG?HG(3){a7*k^@;x7$ADjE=?6KRH zCMM?=r)Q5HIyyi5$px;7aqUe1HYU85gR{qGciuWVF+Ic0t%P^ot+R8F&QCvhbg}ra zzF6$*=@}~S;L$r+{K$CmwnxUMxfYa8sPYC{>)F}cvy=b)slbGnk77HmV^z7=PVf}OYgMEYj1HJvd zB)Ad^@!K~(II(AH_f*e7|G=(^{=R{+{@&fYriM!WlaoVz{o~_PeWhJJlT)SfiT=T< zp@jbiy`+IuE26pcm8|oYA-7`5gFti5}`UaR%OtN6yl<;;n z;JS5sX6M1l#iO&O{gdOzAH4I})a?AjV=>lyCuT#meSI8cPH=yAagvLvg@o58{I^ff zOd5&ari8aqDYwqfPYzFy&yUUP4(ji`^Y40Z-h9X3J2U_P{->+=-v3YceR}Fg=Fk4w zHypf1{Sj!vjm-;IFogXtmX)+_Nod@9c$?vf_X3 zamWSkxp)7)yYB1y*^@H|?|N?kpFH_Xe{xk>>+P){8eNz@K0h(JFgl^tdUSUD6Qjo_ z7Z<_-ec+zSnaQz*$;LE>wo!G>mH3`PYdUW5(+U^k=(@mcLpg|txBF*i4r=*-cwquY zPwp(uU@_?5J2!x&z3JHOTzY(da_phZ313Mq?rG$lg zqClL|7p3$^fq^J67zK7kf!$GHC<>@4VRnxpd(6Ao{7_Tr_*~Q6>|E0)9-d20jLpoX z1*V(kCl^!W^E(%E9_4F)J~TamFyDoN| zSQDL5r^n{!>CMdKF(^lCJv_#c>j|k*=y)8O?u*mn(DXo@7Kf%a2_2Rwb3V?TA8H9R z5i8^)EEffOku;ao7l#Jo&`=ZtUsw)&QD|~1LOpiu(I}N*&c<#hq1HM}dh6li4dLm& zhV+K;^gu&;LwI_qA$=%EpJ?Whv6<||L$)+eW*>gYCBosw*@xh?(QrHz-{ZZ_7N2gZ zlU5HN&oFOxB04SMlcCEng)Aw2Dv6n8N#T>EmdRr!2teW=O|u$3GMO=GD%xhdYnBG) zADo$9SZta=15G@**vzlwV*&-lFF{HB;xPtNQ-=_7>NGo*kAxGE2+dBABxO$$kF0_- zfSeIBvp6~5avXA|A3Qc$+L?P~b_N3jU6x)P!}`d`ieaj>!33rwiyMWQrsFdYSr$(; zz|IW%Srf2%Vfs^(vr{dOv5QzeFn+8wdu-;>oh*azz23IPsq9s@Dkc-}ZN7$3^o^|O zqgly>QuUb?-jC*5y!=(03h%w9c>Vj{zwLwDu^QfY{rfGSmxA`Za=D(q{((Wu|4v`t z%KZNS`q<0A`i-?O?5urh5-Z0@MnHu%Rjp5zkc=`UqAbs z-~8+!?CQ8Kx!gLx_s`2u|K!X6`IGHG|2vsa-t~d=efeMboYYH?!h7z(;LK3SYUeylisthoQKdy5axmL_*@*wC`|-BEu(_y0E>Nbofz&+GKO z^7<~x3C8z^u8^*B2lzc)OnZOkTwzKg%m&80-@6xU{eJH@?;b*TdUtsrC4MLHcEbAi z8>v72Kiq}&IJ#s1qUR5XamjiET1(vzOn_B?BKmgwZq5CR$hM=dj>v+ ze;nJpQd>LuXxfbav@`#vyz8hxOx*{qrv9w-9DlA_R6pn)1uOfa%hHP87uk@wkMs=@ z+7ZU|k+!1u5%^JLY##xm{vfsf-EMT=72;K@=!|$3|1t0HNbfG=vHNq_CH^@01QgbL z>s_(F+W)Y%zrNn39KMvl?$4C#Pmbeh<==;Fd~RV(7T}lup!W=%Dk5>~N9s~MR{8%r WkoMZ3dHJUQ>j?io!G8@L`2PSMj_%t4 literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/NUnit3.TestAdapter.dll b/.Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/NUnit3.TestAdapter.dll new file mode 100644 index 0000000000000000000000000000000000000000..6e2336938faba8d389fd07b93e7efe9fd5d30bbf GIT binary patch literal 70144 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 HjsyQ6c)lbR literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/NUnit3TestAdapter.props b/.Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/NUnit3TestAdapter.props new file mode 100644 index 0000000..278371f --- /dev/null +++ b/.Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/NUnit3TestAdapter.props @@ -0,0 +1,20 @@ + + + + + NUnit3.TestAdapter.dll + PreserveNewest + False + + + nunit.engine.netstandard.dll + PreserveNewest + False + + + Mono.Cecil.dll + PreserveNewest + False + + + diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/nunit.engine.netstandard.dll b/.Net/packages/NUnit3TestAdapter.3.9.0/build/netcoreapp1.0/nunit.engine.netstandard.dll new file mode 100644 index 0000000000000000000000000000000000000000..394194f268982ef567fc20295c7b8b844ce5d993 GIT binary patch literal 57856 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 literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/Mono.Cecil.Mdb.dll b/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/Mono.Cecil.Mdb.dll new file mode 100644 index 0000000000000000000000000000000000000000..1f03289280f7a5cc30d51bccc871521c4556dbc4 GIT binary patch literal 43520 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ȯhAo;3+n!S*Ybu(O zY0XIf{-OwNFAA?O3WrILej7QmNpzN+~IdnkA`zru}S8`Q1O$ z6K4z_GWfP&^R;9ZRfnsufi2_-j{jp?s?OljXxajX$0 zOb=dTy24FMy_#?U%lQN7AZ9ZiaXTGxN=NMJsNR*1>P9*^8-|oYM->Xtlco@40VFNj z3eeDF6l@5B6RCg3YGJRt-L)1LgPLM?oFelH?JyLtwiz+OlOm%_i)ougOvt7ZWK$b? zV{z@srVwocIY1-ZjHjK-F_$*>&7mdw_@io$7uXl(s5{o)kPh8QEwUId{asTF+k0XV z6j~VbSuNa{^qft-aMs+DUcH6mQ(Lt1(>TQOsmvh8R_f;ML)#x-%dyS!ysQ{i`V>$U z)vsyT;vFZ>`fzqAJs>5k@PZg6J#McgwlnHBo+Kv7PFs-i=XQvf40{~D_b6T3d*n%b zk9n;3+-~)r8Cdkbk~QZ@WX8vP#o(LSk8lkyGn$>SlHm!mC&9r(0gPy+lv2FQopiC4jm(Orw zjjs7(KWokk7#g5ONRu;yR-*q-v_u5#gCNZgXCe4M>8T;IN}KzsXwkg zx_BaLJa0Z<;^9Ju5B%!i){N_JUEaYbH8Sp_x{J@QvmE}XUl|^&RK|yQ@fh7Z{F8IT z2cPAt7~Tr!m2p1Sk#YIT?up&|c2}JHM8=IQ*2c#6&dpVKEza)Uv#VO28{0LzuQs=9 zeDC7kh3a^1er|8oxyGrCYy62;sk@KV=5`LJcijDWr7~9KioHsuI&O~%@2gbyRiH-y zeEiPA%wb9wd`T2=G z3*+N^M<@1IC-#m(?|5Z)bZmZNbWgRqzgh#^zA;?$d-g9>7WR$LSH>%Q_v~AoU)(dl zXK`*}Y;kd7eq#T`{KCYXxg)n*rG$M)}^i*ik#l?l$YIS1Y{_1RXaRNdY z$E&qb&`(sxC-#h2#_-P7YJ2uBR`<=<78ggyW=H30`^Oim3yZL4Z>=)AueNv>4j=vj zhyREQkRpa%CPQaQbsOH~kYiPBTv*eduUU*C(I&cL#p0 z{Qvx;o=4n!$}|6CC&FD>C*~LCmzGa(E&GXcT)#7RvT~9Oh8MV4vAsL3)aHc#kJZ1c ze-e{8{QGNi4=28j&+BPA?qRz)y}W!_WA542`STYS7It&XyCwhr$H>pw{~!GO|Azw^ zWA1=+^^N$|J)Fbfd0)8F9pZQVRL;HQdzFH4WAwPE+)*w&cnZ7gNnDRPUAl0R=i~0v zxb^RAx&QEA^d11OJMgb7eg1^`?LCgrSwjGiX?_{7>RN$MhtJdN6Y=_hyZ(*n)dD_} zuX}8CBa-guNN+>36t{Cz(3*j!)|CM7$24eZ{ACn^RX$J;58Ra7Lf$03?mp2K6}sI- z7bJvRmq@42?CV4G?YA1K_zGI5m4D+!89shDck}Fa`}q0twvygoNuW>kpQAp@@G#s? zbJudxYcfE1hRY!`Tvfr%tCmx@=B#izfG9pq>>6p_A2#g1LT4L;f{Gi*wJZ2W-CkTj z2``3eSAD*J35xXZkQ1Fx1iT6roe7`hv)gq3P@<#~h_Y`^(u80iwHlN){1W*hTah5tB!BRSVYJ#Ihz$DuMmsKb9P2mU`T CvfCH{ literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/NUnit3.TestAdapter.dll b/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/NUnit3.TestAdapter.dll new file mode 100644 index 0000000000000000000000000000000000000000..ebbbe65897ff668e36d414d0f21734d2d67077fb GIT binary patch literal 72704 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 CNP`pr literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/NUnit3TestAdapter.props b/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/NUnit3TestAdapter.props new file mode 100644 index 0000000..50f5f50 --- /dev/null +++ b/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/NUnit3TestAdapter.props @@ -0,0 +1,40 @@ + + + + + NUnit3.TestAdapter.dll + PreserveNewest + False + + + nunit.engine.dll + PreserveNewest + False + + + nunit.engine.api.dll + PreserveNewest + False + + + Mono.Cecil.dll + PreserveNewest + False + + + Mono.Cecil.Pdb.dll + PreserveNewest + False + + + Mono.Cecil.Mdb.dll + PreserveNewest + False + + + Mono.Cecil.Rocks.dll + PreserveNewest + False + + + diff --git a/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/nunit.engine.api.dll b/.Net/packages/NUnit3TestAdapter.3.9.0/build/net35/nunit.engine.api.dll new file mode 100644 index 0000000000000000000000000000000000000000..f1f706813527455b96b0f50ced51aef3ef25b2ce GIT binary patch literal 18944 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ȯhAo;3+n!S*Ybu(O zY0XIf{-OwNFAA?O3WrILej7QmNpzN+~IdnkA`zru}S8`Q1O$ z6K4z_GWfP&^R;9ZRfnsufi2_-j{jp?s?OljXxajX$0 zOb=dTy24FMy_#?U%lQN7AZ9ZiaXTGxN=NMJsNR*1>P9*^8-|oYM->Xtlco@40VFNj z3eeDF6l@5B6RCg3YGJRt-L)1LgPLM?oFelH?JyLtwiz+OlOm%_i)ougOvt7ZWK$b? zV{z@srVwocIY1-ZjHjK-F_$*>&7mdw_@io$7uXl(s5{o)kPh8QEwUId{asTF+k0XV z6j~VbSuNa{^qft-aMs+DUcH6mQ(Lt1(>TQOsmvh8R_f;ML)#x-%dyS!ysQ{i`V>$U z)vsyT;vFZ>`fzqAJs>5k@PZg6J#McgwlnHBo+Kv7PFs-i=XQvf40{~D_b6T3d*n%b zk9n;3+-~)r8Cdkbk~QZ@WX8vP#o(LSk8lkyGn$>SlHm!mC&9r(0gPy+lv2FQopiC4jm(Orw zjjs7(KWokk7#g5ONRu;yR-*q-v_u5#gCNZgXCe4M>8T;IN}KzsXwkg zx_BaLJa0Z<;^9Ju5B%!i){N_JUEaYbH8Sp_x{J@QvmE}XUl|^&RK|yQ@fh7Z{F8IT z2cPAt7~Tr!m2p1Sk#YIT?up&|c2}JHM8=IQ*2c#6&dpVKEza)Uv#VO28{0LzuQs=9 zeDC7kh3a^1er|8oxyGrCYy62;sk@KV=5`LJcijDWr7~9KioHsuI&O~%@2gbyRiH-y zeEiPA%wb9wd`T2=G z3*+N^M<@1IC-#m(?|5Z)bZmZNbWgRqzgh#^zA;?$d-g9>7WR$LSH>%Q_v~AoU)(dl zXK`*}Y;kd7eq#T`{KCYXxg)n*rG$M)}^i*ik#l?l$YIS1Y{_1RXaRNdY z$E&qb&`(sxC-#h2#_-P7YJ2uBR`<=<78ggyW=H30`^Oim3yZL4Z>=)AueNv>4j=vj zhyREQkRpa%CPQaQbsOH~kYiPBTv*eduUU*C(I&cL#p0 z{Qvx;o=4n!$}|6CC&FD>C*~LCmzGa(E&GXcT)#7RvT~9Oh8MV4vAsL3)aHc#kJZ1c ze-e{8{QGNi4=28j&+BPA?qRz)y}W!_WA542`STYS7It&XyCwhr$H>pw{~!GO|Azw^ zWA1=+^^N$|J)Fbfd0)8F9pZQVRL;HQdzFH4WAwPE+)*w&cnZ7gNnDRPUAl0R=i~0v zxb^RAx&QEA^d11OJMgb7eg1^`?LCgrSwjGiX?_{7>RN$MhtJdN6Y=_hyZ(*n)dD_} zuX}8CBa-guNN+>36t{Cz(3*j!)|CM7$24eZ{ACn^RX$J;58Ra7Lf$03?mp2K6}sI- z7bJvRmq@42?CV4G?YA1K_zGI5m4D+!89shDck}Fa`}q0twvygoNuW>kpQAp@@G#s? zbJudxYcfE1hRY!`Tvfr%tCmx@=B#izfG9pq>>6p_A2#g1LT4L;f{Gi*wJZ2W-CkTj z2``3eSAD*J35xXZkQ1Fx1iT6roe7`hv)gq3P@<#~h_Y`^(u80iwHlN){1W*hTah5tB!BRSVYJ#Ihz$DuMmsKb9P2mU`T CvfCH{ literal 0 HcmV?d00001 diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit-agent-x86.exe b/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit-agent-x86.exe new file mode 100644 index 0000000000000000000000000000000000000000..21578191a374cb533176fa8941c02195cc8ac39a GIT binary patch literal 70656 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 + + + + + + + + + + + + + + + + diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit-agent.exe b/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit-agent.exe new file mode 100644 index 0000000000000000000000000000000000000000..85cb8829230eaa6d7c47e106578917b708f6d073 GIT binary patch literal 70656 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 + + + + + + + + + + + + + + + + diff --git a/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit.engine.api.dll b/.Net/packages/NUnit.ConsoleRunner.3.7.0/tools/nunit.engine.api.dll new file mode 100644 index 0000000000000000000000000000000000000000..f1f706813527455b96b0f50ced51aef3ef25b2ce GIT binary patch literal 18944 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 + + + nunit.engine.api + + + +

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